一、选择题(共10题,每题1分,共10分)
1. 下面关于线性表的叙述中,错误的是哪一个?( )
A.线性表采用顺序存储,必须占用一片连续的存储单元
B.线性表采用顺序存储,便于进行插入和删除操作
C.线性表采用链接存储,不必占用一片连续的存储单元
D.线性表采用链接存储,便于插入和删除操作
2. 在一个单链表中,已知q所指结点是p所指结点的前驱,若在p和q之间插入s所指结点,则执行的操作是( )。
A. s->next=p->next;p->next=s;
B. q->next=s;s->next=p;
C. p->next=s->next;s->next=p;
D. p->next=s;s->next=q;
3. 设有三个元素X,Y,Z顺序进栈,下列得不到的出栈排列是( )。
A.XYZ B. YZX C. ZXY D. ZYX
4. 若用一个长度为6的数组来实现循环队列,且当前rear和front的值分别为0和3,则从队列中删除一个元素,再增加两个元素后,rear和front的值分别是( )。
A.1和5 B.2和4 C.4和2 D. 5和1
5. 下列说法中正确的是( )。
A.二叉树就是度为2的树 B.二叉树中不存在度大于2的结点
C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2
6. 在具有n个结点的二叉链表中,共有( )个空指针。
A. n B. n-1 C. n+1 D. 不确定
7. 根据二叉树与树的转换关系可知,深度为h的满二叉树对应的森林由( )棵树构成。
A.1 B.log2n C. h/2 D. h
8. 在一个无向图中,所有顶点的度数之和等于所有边数的( )倍。
A.1/2 B.1 C. 2 D. 4
9. 对17个元素的查找表做折半查找,则查找长度为5的元素下标依次是( )。
A.8,17 B.5,10,12 C.9,16 D.9,17
10.关于排序,下列说法中正确的是( )。
A. 稳定的排序方法优于不稳定的排序方法,因为稳定的排序方法效率较高
B. 在顺序表上实现的排序方法在链表上也可以实现
C. 在链表上可以实现简单选择排序,但是难以实现堆排序
D. 就平均性能而言,堆排序最佳
二、填空题(共10空,每空2分,共20分)
1. 计算机执行下面的语句时,语句s的执行次数为 _______ 。
for(i=l;i=i;j--) s;
2. 队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是_______。
3. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是_______ 。
4. 一棵有124个叶子结点的完全二叉树,最多有个_______结点。
5. N个顶点的无向连通图若要存在回路,则至少需要__________条边。
6. 对于一棵二叉排序树做_______遍历,可以得到一个有序的序列。
7. 进行折半查找的两个先决条件是查找表中数据有序和__________。
8. 按{12,24,36,90,52,30}的顺序构成的平衡二叉树,其根结点是__________。
9. 时间复杂度为O(nlg2n)且稳定的排序算法是__________排序。
10.快速排序在__________情况下会蜕变成为冒泡排序。
三、应用题(共5题,每题10分,共50分)
1. 设一棵二叉树的先序遍历序列: A B D F C E G H 中序遍历序列: B F D A G E H C
(1)画出这棵二叉树。
(2)将这棵二叉树转换成对应的树(或森林)。
2. 给定一组数列(15,8,10,21,6,19,3)分别代表字符A,B,C,D,E,F,G出现的频度,画出Huffman树,并给出各字符的Huffman编码。
3.根据Prim算法或Kruskal算法,求右图的最小生成树。
4.某一工程作业的网络图如右图所示,其中箭头表示作业,箭头边的数字表示完成作业所需的天数。箭头前后的圆圈表示事件的编号。求出所有事件开始的最早时间和最晚时间,并给出关键路径。
5.设哈希函数H(k)=3*K mod 11,散列地址空间为0~10,对关键字序列(32,13,49,24,38,21,4,12)按线性探测再散列的方法解决冲突,构