数据结构期末考试试题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江西师范大学计算机科学技术专业 09-10 第 1 学期《数据结构》期末考试试题 A
课程代号:262208 注意事项:请将答案全部写到答题纸上,并注明题号!
一、填空题(每小题 2 分,共 10 分)
1. 算法有 5 个基本特征。其中,
特征,程序可以不必具备。
2. 在一个具有 n 各结点的有序链表中插入一个新结点并保持单链表依然有序的
渐近时间复杂度是

3. 表达式 a+b*(c-d)的后缀表达式为

4. 在关键字序列(0,2,4,6,8,10,12,14,16)中,使用折半查找方式查
找键值 14 和 15,需要的比较次数分别为


5. 有 n 个元素的顺序型循环队列,其队首和队尾指针分别为 f 和 r,从队列中删
除 1 个元素,再插入 2 个元素,其队首和队尾指针分别是


二、程序填空(每小题 10 分,共 20 分)
1、下面代码实现对数组 a[]的快速排序,L 和 H 是数组 a 的边界(10 分)
void qksort(int a[],int L,int H){
int i, j, x;
if( ( 1 ) ) return;
i=L; j=H; x=a[i];
while( iwhile( ( 2 ) ) j--;
if(i(3) ;
( 4 ) ;}
while( ( iif( i}
(5) ;
qksort( a, L , j-1 );
qksort( a, j+1, H );
}
2、以下代码实现通用的折半检索,L、H 刻画在数组 a 中检索的范围。(10 分) BS(int[] a, int key, int L, int H){ int m; if (L>H) return -1; m= ( 6 ) ; if (a[m]==key) return m;

if (a[m]>key) return if (a[m](7) ; (8) ;
三、综合解答题(每小题 10 分,共计 50 分) 1. 给定关键字序列{12,10,13,23,14,9,22,33},首先判断其是否是 堆。若不是,将其调整为小根堆(即根 最小的堆)。(10 分)
2. 给定如下所示的稀疏矩阵,写出其 对应的三元组表示。(10 分)
3. 已知某棵二叉树的前序遍历输出序列为:a、b、e、f、c、d、g;中序遍历 输出序列为:e、f、b、a、c、g、d;画出该树的后序二叉穿线树。(10 分)
4. 给定如下<字母,频度>组合:7>,,解答下列问题:(10
分)
a. 构造对应的 Huffman 树 b. 并写出各字母的编码。
10 0 100
5. 使用 Kruskal 算法,针对右图画出构造最小生成 树的过程图示(10 分)
1 30
50 10
2 20
4
60
3
四、算法设计题(每小题 10 分,共 20 分)
1、给定键值按升序排列的带头结点的单链表 h1 和 h2,将其合并成升序排列的 单链表,并返回新链表的表头指针。要求利用原表的结点数据空间。
typedef struct L{ int d; struct L *next;
}LinkL; LinkL * mergeList(LinkL *h1,LinkL *h2){
/*补充完整 */
}
2、编写算法,返回二叉树中序遍历的第一个结点;

typedef struct pp{ int d; struct pp *l,*r;
}Btree; Btree* inFirstNode(Btree *t){
/*补充完整 */ }

江西师范大学计算机科学技术专业 09-10 第 1 学期《数据结构》期末考试试题 A
参考答案
课程代号:262208 注意事项:请将答案全部写到答题纸上,并注明题号!
一、填空题(每小题 2 分,共 10 分) 1. 终止性 2.O(n) 3.abcd-*+n 5. (r+2)%n 和(f+1)%n
4. 3 和 4
二、程序填空(每小题 10 分,共 20 分)
(1). L>=H (3). a[i]=a[j];
(2). ( i= x )
(4). i++;
(5). a[i]=x;
(6). (L+H)/2 (7).BS(a,key,L,m-1); (8).BS(a, key, m+1, H);
三、综合解答题(每小题 10 分,共计 50 分) 1. 给定关键字序列{12,10,13,23,14,9, 22,33},首先判断其是否是堆。若不是,将其调 整为小根堆(即根最小的堆)。(10 分) 答:不是堆。调整后如右图所示。
2. 给定如下所示的稀疏矩阵,写出其对应
的三元组表示。(10 分)
{(6,7,8),(1,2,12),
(1,3,9),
(3,1,-3),
(3,6,14),
(4,3,24),(5,2,18),
(6,1,15),
(6,4,-7) }
注意:建议无论是以表格格式,还是以元素对
格式,都可以给满分。另外,基于从 0 开始的下 标刻画上述矩阵,也算做正确。
3. 已知某棵二叉树的前序遍历输出序列为:a、
a
b
c
e
d
f
g

相关文档
最新文档