1、班级: 姓名: 学号: .密封线内禁止答题Error! Reference source not found.考试试卷 A 卷 第 1 页 共 4 页 专 接 本 数 据 结 构 测 试 卷时间:120 分钟 南航自考本科班 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。1、在单链表中,指针 p指向元素为 x的结点,实现“删除 x的后继结点”的语句是( )A.p=p-next; B.p-next=p-next-next;C.p-next=p; D.p=p-next-next;2、如果在数据结
2、构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( )A. 栈 B. 队列 C. 树 D. 图3、若以 S和 X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是( )A. SXSSXXXX B. SXXSXSSX C. SXSXXSSX D. SSSXXSXX4、两个字符串相等的条件是( )A. 串的长度相等 B. 含有相同的字符集C. 都是非空串 D. 串的长度相等且对应的字符相同5、二维数组 A45按行优先顺序存储,若每个元素占 2 个存储单元,且第一个元素A00的存储地址为 1000,则数组元素 A32的存储地址为 ( )A.1012 B.1017
3、 C.1034 D.10366、已知一棵含 50 个结点的二叉树中只有一个叶子结点,则该树中度为 1 的结点个数为( )A. 0 B. 1 C. 48 D. 497、一颗二叉树上第 5层的结点数最多为( )A. 8 B. 16 C. 15 D. 328、在一棵完全二叉树中,若编号为 i的结点存在左孩子,则左孩子结点的编号( )A.2i-1 B.2i C.2i+1 D.2i+29、已知森林 F=T1,T2,T3,T4,T5,各棵树 Ti(i=1,2,3,4,5)中所含结点的个数分别为 7,3,5,l,2,则与 F对应的二叉树的右子树中的结点个数为( )A2 B3 C8 D1110、如图所示的带权
4、无向图的最小生成树的权为( )A. 51 B. 52C. 54 D. 5611、在一个具有 n个顶点的有向完全图中,所含的边数为( )An B.n*(n-1) C.n*(n+1) D.n*(n-1)/212、已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是( )A. 插入排序 B. 冒泡排序 C. 快速排序 D. 归并排序13、 (本题不做)已知一个有序表为(13,18,24,35,47,50,62
5、,83,90,115,134) ,当二分检索值为 90的元素时,检索成功需比较的次数是( ) 。A.1 B.2 C.3 D.414、 (本题不做)已知散列表的存储空间为 T018,散列函数 H(key)=key%17,并用二次探测密封线内禁止答题考试试卷 A 卷 第 2 页 共 4 页 法处理冲突。散列表中已插入下列关键字:T5=39,T6=57 和 T7=7,则下一个关键字 23插入的位置是( )A. T2 B. T4 C. T8 D. T1015、 (本题不做)数据库文件是由大量带有结构的( )A.记录组成的集合 B.字符组成的集合C.数据项组成的集合 D.数据结构组成的集合二、填空题(本
6、大题共 10 小题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。错填、不填均无分。16. 数据的存储结构是其逻辑结构_在计算机存储器内的表示_。17. 栈上溢出是指在_栈满_时进行入栈操作。18给定串的联接操作函数:char *strcat(char *to, char *from);/将串 from联接到串 to的末尾,并返回联接后的串若字符串 s1=point,s2=of,则 strcat(s1,strcat(s2,s1)的操作结果是_pointofpoint _。19. 广义表 L=(a, (b,( )) )的深度为_3_。20. 假设一棵完全二叉树含 1000个结点,
7、则其中度为 2的结点数为_499_。21.若用邻接矩阵表示有向图,则顶点 i的入度等于矩阵中_对应列中非 0的个数_。22.已知一个有向网如图所示,从顶点 1到顶点 4的最短路径长度为_55_。23 (本题不做)在 5阶 B-树中,每个结点至多含 4个关键字,除根结点之外,其他结点至少含_个关键字。24若序列中关键字相同的记录在排序前后的相对次序不变,则称该排序算法是_稳定_的。25. (本题不做)顺序文件中记录存放的物理顺序和_顺序一致。三、应用题(本大题共 5 小题,每小题 10 分,共 50 分)26. 假设通信电文使用的字符集为a,b,c,d,e,f,g,h,各字符在电文中出现的频度分
8、别为:7,26,2,28,13,10,3,11,试为这 8个字符设计哈夫曼编码。要求:(1)画出你所构造的哈夫曼树(要求树中左孩子结点的权值不大于右孩子结点的权值);(2)按左分支为 0和右分支为 1的规则,分别写出与每个字符对应的编码。(1)(2)27. 对序列(48,37,63,96,22,31,50,55,11)进行升序的堆排序,写出构建的初始(大根)堆及前两趟重建堆之后的序列状态。初始堆:96 55 63 48 22 31 50 37 11第 1趟:第 2趟:密封线内禁止答题考试试卷 A 卷 第 3 页 共 4 页 28. (本题不做)已知 3 阶 B树如图所示,(1)画出将关键字 6
9、 插入之后的 B- 树;(2)画出在(1)所得树中插入关键字 2 之后的 B- 树。(1) (2)29. 已知带权图的邻接表如下所示,其中边表结点的结构为:依此邻接表从顶点 C出发进行深度优先遍历。(1)画出此带权图。(2)画出由此得到的深度优先生成树;(1)(2)30. 已知二叉树的存储结构为二叉链表,其类型定义如下:typedef struct NodeType DataType data;struct NodeType *lchild,*rchild;BinTNode,*BinTree;阅读算法 F32,并回答下列问题:(1)对于如图所示的二叉树,画出执行算法 f32的结果;(2)简述算法 f32的功能。BinTree f32(BinTree bt1)BinTree bt2;if(bt1=NULL)bt2=NULL;else bt2=(BinTNode *)malloc(sizeof(BinTNode);bt2-data=bt1-data;bt2-rchild=f32(bt1-lchild);bt2-lchild=f32(bt1-rchild); return bt2;(1)(2)密封线内禁止答题考试试卷 A 卷 第 4 页 共 4 页