2006 年山西太原科技大学数据结构考研真题
一.名词解释∶(每题 3 分,共 30 分)
1. 数据的逻辑结构;
2. 数据的存储结构;
3. 算法的健壮性;
4. 算法的时间复杂度;
5.关键路径及其含义;
6.哈夫曼树
7.循环队列
8.顺序表
9. 完全二叉数
10.排序的稳定性
二.单项选择∶(每题 2 分,共 20 分)
1.在顺序表中间某个位置插入一数据元素的过程是_
A.删除原有位置上数据,然后插入新的数据;
B.插入新的数据,然后移动数据;
C.直接插入新的数据,不需要移动任何数据;
D.相关数据后移,然后插入新的数据;
2.双向链表中,p 为指向表中某一结点的指针,则下式恒成立的是____
A.p->next->prior=p->next->next;
B.p→>next->data=p->prior->data;
C. p->next =p->prior;
D. p->next->prior=p->prior->next;
3.中缀表达式 a+b*c-d 的后缀表达式为___
4.在子串定位操作中,若 S【i】=T【j】,则位置指针 i 和 j 分别加 1,继续比较后续字符;
若比较过程中出现不相等字符,则应该__
5.一个 6×8 的二维数组 T,每个数组元素占 4 个字节,若 T【0】【0】的起始地址为 2000,
按行优先顺序存放时,元素 T【1】【4】的起始地址为__
A.2000;
B.2048;
C.2052;
D.2084;
6. 已知二叉树如图所示,其三种遍历序列为_
A. 前序 ABDEC; 中序 CBADE; 后序 EDBAC;
B. 前序 ABCDE;中序 ABCDE;后序 EDCBA;
C. 前序 ABCDE; 中序 BDECA;后序 BDECA;
D. 前序 ABCDE; 中序 BDECA;后序 EDCBA
7.森林 T=(T1,T2…Tm)转化为二叉数 BT 的过程为∶若 m=0,则 BT 为空;若 m≠0,则
A.将中间子树 Tmid(mid=(1+m)2)的根作为 BT 的根;将(TI,T2…Tmid-1)转换为 BT
的左子树;将(T mid+1,…Tm)转换为 BT 的右子树;
B.将子树 T1 的根作为 BT 的根;将 T1 的子树森林转换为 BT 的左子树;将(T2 T3,.Tm)
转换为 BT 的右子树;
C. 将子树 TI 的根作为 BT 的根;将 T1 的左子树森林转换为 BT 的左子树;将 T1 的右子树森
林转换为 BT 的右子树;其它依次类推;
E. 将森林 T 的根作为 BT 的根;将(T1,T2.….m)转化为该根下的结点,得到一棵树,
然后将这棵树再转化为二叉数 BT;
8.最小生成树指的是,该树中_
A.所含结点个数最小;
B.所有边的权值之和为最小;
C.带权路径长度之和为最小;
D.一棵满二叉树;
9.文件的操作有两大类型,它们是__
A.插入和删除;
B.查找和插入;
C.存储和检索;
D. 检索和修改;
10.希尔排序属于____;
A.插入排序;
B.交换排序;
C.选择排序;
D. 归并排序;
三.综合题∶(每题 20 分,共 100 分)
1. 对于给定的带头结点的递增有序单链表 L,要求
①编写算法删除表中结点值大于 min 小于 max 的结点,并释放其空间;
②分析算法的时间复杂度;
2.给定关键字序列【12,23,26,37,54,60.68,75.82,96】,要求
①图示二分查找 K=96 的过程,要求给出每次比较后各主要位置变量的具体数值;
②写出二分查找的算法思路和类 C 语言算法;
3. 给定矩阵 T 如图所示,
①如何存储才能使其结点所占存储空间最小?写出其存储结构描述,并指明各项含义; 3
②在以上所定义的存储结构上编写类 C 语言算法,求该矩阵的转置矩阵;
4.已知某关键字序列为 28,4,36,2,65,14,55,17,对其进行快速排序,
①图示上述关键字序列一趟快速排序过程,并表明位置指针的变化情况;
②写出一趟快速排序的算法思路和类 C 语言算法;写出进行快速排序的类 C 语言算法;
5. 给定有向图 G 如图所示,要求
①写出图 G 的邻接矩阵和邻接表表示,并写出从 V0 出发的广度优先和深度优先遍历序列;
②写出求所有顶点之间最短路径的算法思路和类 C 语言算法;写出在求所有顶点之间最短路
径过程中各顶点对之间的最短路径及其路径长度的变化情况。