数据结构练习题

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

练习题

21.在双向链表中,前趋指针和后继指针分别为prior和next。若要指针p往后移动两个结点,即指向当前结点后继的后继,则需执行语句。若要指针p向前移动一个结点,即指向当前结点的前趋,则需执行语句。22.在有n个叶子结点的哈夫曼树中,其结点总数为。

23.数据的逻辑结构被分为集合结构、线性结构、和。

24.第一个顶点和最后一个顶点相同的路径称为。除第一个顶点和最后一个顶点相同外,其余顶点不重复的回路,称为。25.堆排序属于(稳定、不稳定)排序。快速排序属于(稳定、不稳定)排序。

26.从一个栈顶指针为top的非空链式栈中删除结点,并不需要返回栈顶的值和回收结点时应执行的操作。

27.在有n个顶点的无向图中,每个顶点的度最大可达。

28.对于下面的二叉树,按后根遍历所得到的结点序列为。

29.带头结点的双链表H中两个指针域为prior和next,则双链表H为空的条件可以表示为。

30.在二叉链表中判断某指针p所指结点为叶子结点的条件是。

一、应用题(每小题6分,共30分)

31.写出下图所示的AOV网的所有拓扑有序序列。

32. 试将右图所示的一棵二叉树还原成森林。

33.以数据集{2,5,7,9,13}为权值构造一棵哈夫曼(Huffman )树,并计算其带权

路径长度。

34.试写出一组键值(83,40,63,13,84,35,96,57,39,79,61,15)应用二路归

并排序算法从小到大排序后各趟的结果。

35.已知图中二叉排序树的各结点的值依次为32~40,请标出各结点的值。

图 二叉排序树

36.下列算法的功能是求出指定结点在给定的二叉排序树中所在的层次。请完善该算法。 Void level (BSTree root ,p )

{ int level=0; A C B D E F

G H

if(!root)

(1);

else{

level++;

while(root->key!=p->key)

{

if(root->key>p->key)

(2);

else

(3);

level++;

}

(4);

}

}

(1)

(2)

(3)

(4)

37试将折半查找的算法改写成递归算法。

38. 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不

设头指针),试编写相应的队列入队列和出队列的算法。

相关文档
最新文档