问答题设T是具有n个内结点的扩充二叉树,I是它的内路径长度,E是它的外路径长度。(1)试利用归纳法证明E=I+2n,n≥0。(5分)(2)利用(1)的结果,试说明:成功查找的平均比较次数s与不成功查找的平均比较次数u之间的关系可用公式表示s=(1+1/n)u一1,n>=1。【清华大学1998四(10分)】
问答题用一维数组存放的一棵完全二叉树;ABCDEFGHIJKL。请写出后序遍历该二叉树的访问结点序列。【西安电子科技大学1999计算机应用一、6(5分)】
问答题设顺序表中的数据元素递增有序,编写一算法将元素X插入到顺序表的适当位置上,并保证该表的有序性。
问答题设有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0.maxsize一1],为了尽量利用空间,减少溢出的可能,可采用栈顶相向,迎面增长的存储方式。试设计s1、s2有关入栈和出栈的操作算法。【哈尔滨工业大学2001年】
问答题设有一个散列表,要存放的数据有8个,采用除留余数法计算散列地址,并用二次散列法解决冲突,不过仅用H
i
=(H
o
+i
2
)%m计算下一个散列地址,m是表的长度,i=1,2,…,m-1。
问答题已知Ackermann函数定义如下:(1)写出Ack(2,1)的计算过程。(2)写出计算Ack(m,n)的非递归算法。【北京师范大学2005六、2(15分)】【北京航空航天大学1999六(15分)】
问答题设t为一棵二叉树的根结点地址指针,试设计一个非递归的算法完成把二叉树中每个结点的左右孩子位置交换。【东北大学1996五(14分)】
问答题有n个结点的二叉树的最大高度、最小高度分别是多少?【清华大学2008二、1】
问答题s是字符数组,s[0]中存放的是该字符串的有效长度,假设s[1..7]中字符串的内容为"abcabaa",说明下列程序的功能及执行结果。 #define len 8 int k. n[len], char s[len]=“7abcabaa”; void unknown3(char T[]) {int i, j; i=1; n[1]=0; j=0; while(i<1en) {if(j==0 || T[i]==T[j]) {++i; ++j; if(T[i]!=T[j]) n[i]=j; else n[i]=n[j]; } else j=n[j]; } } main() {unknown3(s); for(k=1;k<1en; k++) printf(“%d”,n[k]); }【北京交通大学2004六、3(7分)】
问答题线性表以顺序结构存储且递增有序,写一个算法实现二分查找。 要求:①用类C语言编写算法; ②在算法中给出必要的类型描述和注释。
问答题如果一棵有n个结点的满二叉树的高度为h(根结点所在的层次为1),则求解下列问题。
(1)用高度如何表示结点总数n?用结点总数n如何表示高度h?
(2)若对该树的结点从0开始按中序遍历次序进行编号,则如何用高度h表示根结点的编号?如何用高度h表示根结点的左子女结点的编号和右子女结点的编号?
问答题设i是一棵按后序遍历方式构成的线索二叉树的根结点指针,试设计一个非递归的算法,把一个地址为x的新结点插到t树中已知地址为y的结点右侧作为结点y的右孩子,并使插入后的二叉树仍为后序线索二叉树。【东北大学1996七(15分)】
问答题对以下关键字序列建立哈希表: (SUN,MON,TUE,WED,THU,FRI,SAT),哈希函数为H(K)=(关键字中第一个字母在字母表中的序号)MOD 7,用线性探测法处理冲突,求构造一个装填因子为0.7的哈希表;并分别计算出在等概率情况下查找成功与不成功的平均查找长度。【西北大学2000二、3(5分)】
问答题设一棵后序线索树的高是50,结点x是树中的一个结点,其双亲是结点y,y的右子树高度是3l,x是y的左孩子。则确定x的后继最多需经过__________中间结点(不含后继及x本身)。【南京理工大学2000二、8(1.5分)】
问答题假定把关键字key散列到有n个表项(从0到n-1编址)的散列表中。对于下面的每一个函数H(key)(keyr为整数),这些函数能够当作散列函数吗?(即对于插入和查找,散列程序能正常工作吗?)如果能够,它是一个好的散列函数吗?请说明理由。设函数random(n)返回一个0到n-1之间的随机整数(包括0与n-1在内)。
问答题树的存储结构如下: #define MAX一TREE—SIZE 100 typedef struct CTNode{ //孩子结点 int child; struct CTNode *next ; }*childPtr; typedef struct { E1emtype data; childPtr *firstchild; //孩子链表头的指针 }*CTBox; Typedef struct { CTBox nodes[MAX_rREE—SIZE]; int n; //n为结点数 }*CTree 写出求树的度的算法。【南京理工大学2004四(5分)】
问答题设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查找成功的ASL是__________。【北京交通大学2005二、5(2分)】
问答题设某二叉树的先序遍历序列为abcdefgh,中序遍历序列为dgbaechf,,则其后序遍历序列为__________。【北京交通大学2006二、5(2分)】
问答题设二叉树根结点在第1层,树的深度d为距离根最远的叶结点所在层次,试给出:
问答题设有序顺序表中的元素依次为017,094,154,170,275,503,509,512,553,612,677,765,897,908。试画出对其进行折半查找时的判定树,并计算查找成功的平均查找长度和查找不成功的平均查找长度。