20052数据结构A魏振钢 下载本文

内容发布更新时间 : 2024/6/27 0:43:07星期一 下面是文章的全部内容请认真阅读。

中 国 海 洋 大 学 命 题 专 用 纸(首页)

20052006学年第 2 学期 试题名称 : 数据结构 共 3 页 第 1 页 专业年级: 计算机04级 学号 姓名 授课教师名 分数 一、解答下列各题(40 分,每小题 8 分) 1. 已知下图为广义表的存储结构图,写出该图表示的广义表,并求该广义表的长度和深度。 list 2.对下图所示有向图,利用Dijkstra算法求出从顶点A到其它各顶点的最短路径及距离。 B 10 E 2 30 15 A 4 D 10 15 4 C 10 F 3. 已知一棵3阶B-树如下图所示,分别画出插入关键字20后和删除关键字150后得到的B-树。 100 50 80 30 40 60 70 90 150 120 180 授课教师 命题教师或命题负责人 签 字 院系负责人 签 字 年 月 日 中 国 海 洋 大 学 命 题 专 用 纸(附页)

20052006学年第 2 学期 试题名称 : 数据结构 共 3 页 第 2 页

4. 已知序列{503,87,512,61,908,170,897,275,653,462}将其调整为堆(大堆顶,即Ki >=K2i ,Ki >=K2i+1)。 5. 将下列森林转换为相应的二叉树,并加上指向前驱和后继的中序线索。 二、判断题:正确的打√,错误的打×(每题1分,共15分) 1、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( ) 2.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。( ) 3.顺序存储的线性表可以随机存取。( ) 4.若一个广义表的表头为空表,则此广义表亦为空表。( ) 5.任何一个非空广义表,其表头可能是单元素或广义表,其表尾必定是广义表。( ) 6.广义表是由零或多个原子或子表所组成的有限序列,所以广义表可能为空表。( ) 7.用树的前序遍历和中序遍历可以导出树的后序遍历。( ) 8.在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况应特殊处理。( ) 9.将一棵树转换成二叉树后,根结点没有左子树。( )

中 国 海 洋 大 学 命 题 专 用 纸(附页)

20052006学年第 2 学期 试题名称 : 数据结构 共 3 页 第 3 页

10.在n个结点的无向图中,若边数〉n-1,则该图必是连通图。( ) 11.一个图的广度优先遍历生成树是唯一的( )

12.对两棵具有相同关键字集合而形状不同的二叉排序树,按中序遍历它们得到的顺序是一样的。( ) 13.负载因子(装填因子)是散列表的一个重要参数,它反映散列表的装满程度。( ) 14.对一个堆,按二叉树层次进行遍历可以得到一个有序序列。( )

15.对于n个记录的集合进行冒泡排序,在最坏情况下所需要的时间是O(n2)。( )

三、(15分)已知一棵度为M的树中有n1个度为1的结点,n2个度为的2结点,…nm个度为m的结点,证明其叶结点个数为 1+?(i?1)ni 。

i?1m四、(15分)试编写一个高效算法,查找未排序文件A(1..n)中的第K个最小的元素,并分析你的算法的时间复杂度。

注:第K个最小的元素:若M是A(1),A(2),…,A(n)中的第K个最小的元素,则A(1),A(2),…,A(n)中至少有K个元素小于等于M,并且最多有K-1个元素小于M。

五、(15分)试写一个判定所给定二叉树是否为二叉排序树的算法,设此二叉树以二叉链表为存储结构,且树中结点的关键字均不同。