数据结构
- 格式:doc
- 大小:340.50 KB
- 文档页数:5
) 。
2007
~2008
学年
第 2 学期
计算机科学与技术、网络工程专业 数据结构 课程期末试卷
1.D 11.D 2.B 12.A 3.B 13.C 4.B 14.C 5.A 15.C 6.D 7.A 8.C 9.B 10.C
11.设指针变量 top 指向当前链式栈的栈顶,则删除栈顶元素的操作序列为( B.top=top-1 D.top=top->next ) 。 B.最长回路 D.最短回路 ) 。
14.在等概率情况下,线性表的顺序查找的平均查找长度 ASL 为( B. n/2 ) 。 B. 75,65,45,10,30,25,20,15 D. 75,45,65,10,25,30,20,15 C. (n+1)/2 D. n
4.设某哈夫曼树中有 199 个结点,则该哈夫曼树中有(
A. 75,65,30,15,25,45,20,10 C. 75,45,65,30,15,25,20,10 二、填空(每空 2 分,共 20 分)
中
………………………………………装……………………………订……………………………线………………………………………
原
工
学
院
重修标识 B卷
10.设带有头结点的单向循环链表的头指针变量为 head,则其判空条件是( A.head==0 C.head->next==head A.top=top+1 C.top->next=top 12.关键路径是 AOE 网中( B. head->next==NULL D. head==NULL
姓名
5.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为( C. O(n1/2) D.O(1og2n) C.快速排序 C.O(n )
2
6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是( D.希尔排序
3/2
1.模式串 P=‘ababaabab’的 next 函数值序列为
。
2.在一个长度为 n 的顺序表中第 i 个元素(1≤i≤n+1)之前插入一个元素时,需 向后移动 个数据元素。
B
卷第
3 页
int leafcount(BiTree bt) { if(bt) B卷 2007 ~2008 学年 第 2 学期 {if(bt->lchild==NULL&&bt->rchild==NULL)//2 分 count++; 计算机科学与技术、网络工程专业 数据结构 课程期末试卷标准答案(即 leafcount(bt->lchild);//2 分 评分标准) leafcount(bt->rchild);//2 分 } 一、单选题(每小题 2 分,共 30 分) return count; } 1.D 2.B 3.B 4.B 5.A 6.D 7.A 8.C 9.B 10.C 四. 11.D 12.A 13.C 14.C 15.C (1)每步 1 分,共 7 分。 二、填空题(每空2分,共20 分) 1.011234234 2. n-i+1 3.O(1) O(n) 4.先进先出 5. 直接前驱 直接后继 6.9 7. 队列 8.40 38 46 56 79 84
参考答案:
int count=0; 本试卷答案共 2 页,此页为第 1 页
七.共 10 分错 1 个扣 2 分。 (2)写出编码 2 分,计算电文总长度 2 分。 a b c d e 1010 00 10000 1001 11
b c d (a,d) 12 (a,d) 12 (a,c,f,d) 11 e ∞ (a,c,e) 10 f ∞ g ∞ ∞ ( a,c,f a,c,f,e
(a,c,e) 10
89 89 89 89 89
[100 90] 90 100 90 100 90 100 90 100
i=4
(a,c,f,d) 11
d
a,c,f,e,d
i=5 i=6
(a,c,f,d,g) g 13
b
a,c,f,e,d,g a,c,f,e,d,g,b
六. (1)见右页。 (共 4 分,错 1 步扣 0.5 分) (2)中序遍历(2 分) (3)ASL=(1+2*2+3*3+4*2+5)/9=27/9=3(2 分)
学号
班级
姓名
六、依次输入表(30,15,28,10,12,68,35,50,46)中的元素, (1)构造一棵二叉排序树。 分) (4 (2)依此二叉排序树,如何得到一个从小到大的有序序列。 分) (2 (3)假定每个元素的查找概率相等,试计算该二叉排序树的平均查找长度。 分) (2
本试卷共
3 页,此页为
f 10001
g 01
h 1011
i=1 i=2
(a,b) 15 (a,b) 15 (a,b) 15 (a,b) 15 (a,b) 15
(a,c) 2
WPL =(19+21+32)*2+(2+3)*5+(6+7+10)*4 =261
i=3
(a,c,f) 6
五.每步 1 分,共 5 分 [72 27 52 28 15] [15 27 52 28] 72 15 [27 52 28] 72 15 27 [52 28] 72 15 27 28 52 72
7.程序段 s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为( ) 。 D.O(n )
班级
8.设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找 3.对于一个具有 n 个结点的单链表,在已知的结点*p 后插入一个新结点的时间复 值为 24 的元素需要经过( )次比较。 A.1 B.2 C.3 D.4 9.设按照从上到下、从左到右的顺序从 1 开始对完全二叉树进行顺序编号,则编号 为 i 结点的左孩子结点的编号为( ) 。 A.2i+1 B.2i C.i/2 D.2i-1 杂度为 。 4.队列的特点是 5.线索二叉树的左线索指向其 。 ,右线索指向其 个顶点。 。 ;在给定值为 x 的结点后插入一个新结点的时间复杂度为
(a,b) 15
本试卷答案共
2
最短路径 最短路径长度 页,此页为第 2 页
b a,b 15
c a,c 2
d a,c,f,d 11
e a,c,e 10
f a,c,f 6
g a,c,f,d,g 13
6.G 是一个非连通无向图,共有 28 条边,则该图至少有
本试卷共
3
页,此页为
B
卷第
1
页
(注:参加重修考试者请在重修标识框内打钩)
7.为了实现图的广度优先搜索,除了一个标志数组标志已访问的图的顶点外,还需
………………………………………装……………………………订……………………………线………………………………………
) 。
一、单选题
(每小题 2 分 B.栈 B. 5
共计 30 分) C. 队列 C.6 D. 树 )种不同的形态。 D.7 B.第 i 列非 0 元素的个数之和 D.第 i 列 0 元素的个数之和 )个叶子结点。 ) 。 ) 。 C.101 D. 102
1.数组的逻辑结构不同于下列( )的逻辑结构。 A. 线性表 A.4 2.根据二叉树的定义可知二叉树共有(
班级
姓名
学号
2.假设二叉树采用二叉链表方法存储,编写一个算法,计算二叉树的叶子结点数。 (6 分) 本试卷共 页,此页为 卷第 2 页
3
B
………………………………………装……………………………订……………………………线………………………………………
六、试利用 Dijkstra 算法求出图中从顶点 a 到其余各顶点的最短路径,写出执行算 法过程中各步的状态。 (10 分) 五、用快速排序方法对下列整数序列进行排序,写出中间及最后结果。 分) (5 [89,27,52,90,15,28,100,72]
以存放被访问的顶点以实现遍历。 8.一组关键码序列 46,79,56,38,40,84,则利用快速排序,以第一个记录为 基准经过一趟划分后,结果为 三、算法设计题(共 16 分) 1.请设计一个算法,删除单链表中从第 i 个元素开始的连续 k 个元素。 (10 分) _ ___ _。
四、 假设用于通信的电文仅由 8 个字母组成, 字母在电文中出现的频率分别为 7, 19, 2, 6, 32, 3, 21,10。 (1) 画出对应的 Huffman 树 (请按照左子树根结点的权值小于等于右子树根结点的 权值的次序构造)(7 分) 。 (2)求电文的总长度。 分) (4
A.从源点到汇点的最长路径 C.从源点到汇点的最短路径 13. 对稀疏矩阵进行压缩的目的是( A. 便于进行矩阵运算 C. 节省存储空间 A. (n-1)/2 15.以下序列是堆的是(
学号
B. 便于输入和输出 D. 降低运算的时间复杂度 )。
3.设用邻接矩阵 A 表示有向图 G 的存储结构,则有向图 G 中顶点 i 的入度为( ) 。 A.第 i 行非 0 元素的个数之和 C.第 i 行 0 元素的个数之和 A. 99 A. O(n) A.堆排序 A.O(n) B.100 B.O(n2) B.冒泡排序 B.O(nlog2n)
中
原
工
学
院
三、算法设计题(共16分) 1.10 分 参考答案: void delete11(LinkList &L,int i,int k) { LinkList p,q; p=L;//1 分 int j=0;//1 分 while(p->next&&j<i-1){//3 分 p=p->next;j++; } j=0; while(p->next&&j<k){//5 分 q=p->next; p->next=q->next; delete q; j++; } } 2.6 分