1、1专业数据结构(C 语言描述) 期末试卷( 学年 第 学期)一、填空(10分 )1、一个m 阶B- 树中,每个结点最少有( )个儿子结点 ,m阶B+树中每个结点(除根外) 最多有( )个儿子结点.2、n(n0)个结点构成的二叉树,叶结点最多有 ( ) )个,最少有( )个。若二叉树有m个叶结点,则度为2的结点有( )个。3、顺序查找方法适用于存储结构为( )的线性表,使用折半查找方法的条件是( )4、广义表A=( ),(a,(b,c),d)的表尾Gettail(A)为( )5、直接插入排序,起泡排序和快速排序三种方法中,( )所需的平均执行时间最小;( )所需附加空间最大。二、选择(10分 )
2、1、倒排文件的主要优点是:( )A、便于进行插入和删除 B、便于进行文件的合并C、能大大提高基于非主关键字数据项的查找速度 D、易于针对主关键字的逆向检索2 下面程序段的时间复杂性为( )y=0;while(n=(y+1)*(y+1) y+;A、O(n) B、O(n 2) C、 O(sqrt(n) D、 O(1)3、若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是( )A、二叉排序树 B、哈夫曼树 C、堆 D、AVL树4、栈和队列都是( )A、顺序存储的线性结构 B、限制存取点的线性结构C、链式存储的线性结构 D、限制存取点的非线性结构5、用顺序查找方法查找长度
3、为n的线性表时,在等概率情况下的平均查找长度为( )A、n B、n/2 C、(n-1)/2 D、(n+1)/2三、简答(30分)1、已知一棵二叉树的前序扫描序列和中序扫描序列分别为ABCDEFGHIJ和题号 总分得分院(系) 班级 姓名 学号 装订线2BCDAFEHJIG,试给出该二叉树的后序序列并绘出该二叉树对应的森林。2、若对序列(7 ,3 ,1,8,6,2 ,4,5)按从小到大排序,请写出起泡排序的第一趟结果和堆排序的初始堆。3、某通讯系统只可能有A 、B 、C 、D、E、F 6种字符,其出现的概率分别是0.1、0.4、0.04 、0.16 、0.19、 0.11,试画出相应的哈夫曼树,
4、并设计哈夫曼编码。4、在二叉平衡检索树(AVL树)的调整中,将最靠近新插入点的不平衡结点调整平衡后,树中是否还会有不平衡结点?为什么?5、指定Hash 函数 H(k)=3*k mod 11及线性探测开地址法处理冲突,试在010的散列空间中对关键字序列(22,41,53,46,30,13,01,67)构造Hash表,并求在等查找概率下查找成功的平均查找长度。3四、 (10分)下图是带权的有向图G 的邻接矩阵表示,请给出:1、其邻接表存储结构2、按Floyd算法求所有顶点对之间最短距离的矩阵变化过程。V1 V2 V3 V4V1| 0 1 4V2| 0 9 2V3| 3 5 0 8V4| 6 0五、
5、 (12分) 设双链表结点结构为 llink data rlink,请设计算法将其中P所指结点与其rlink所指结点位置互换的算法。六、 (13分) 若有一棵二叉树的存储结构为二叉链表,T指向根结点,请写出一个非递归算法判定其是否为二叉排序数。4七、 (15分) 下表列出了某工序之间的优先关系和各工序所需时间,要求:(1)画出AOE网(2)列出各事件的最早、最晚发生时间(3)找出该AOE网中的关键路径,并回答完成该工程所需要的最短时间。工序代号 所需时间 先驱工序 工序代号 所需时间 先驱工序A 15 无 H 15 G、IB 10 无 I 120 EC 50 A、B J 60 ID 8 B K 15 F、IE 15 C、D L 30 H、J、KF 40 B M 20 LG 300 E