①画出哈夫曼树 ②写出哈夫曼编码。
出现几个 作为权值
七个结点
关键路径 最早发生时间写作0 v1:0 v2:12 v4:16都到v4取最大值
最早完成时间:23
最迟
4.已知一组元素为(50、20、80、62、18、34、12、40、73),试画出按元素排列顺序输入而生成的平衡的二叉排序树,注明旋转过程。
5.下列序列是否是堆。若不是请将其调整为大根堆,画出调整步骤。
(90,85,40,77,80,60,66,98,82,5,20);
大根堆就是根节点是整棵树的最大值(根节点大于等于左右子树的最大值),对于他的任意子树,根节点也是最大值。
大顶堆:每个结点的值都大于或等于其左右孩子结点的值;
小顶堆:每个结点的值都小于或等于其左右孩子结点的值。
6.已知表达式8*(6-2)+9写出利用栈实现表达式求值过程(8分)
EG:
7、已知关键字系列23,65,72,68,38,79,93,21,5在0—10的散列空间构造哈希表,要求:写出哈希函数;给出哈希函数及各关键字的对应地址;指出是否有冲突;给出解决冲突的方法。(8分)
8、如图为二叉排序树,(8分)写出二叉树的深度 5及
4 46 50 55 52 48 65 85 56 45
4 45 46 48 50 52 55 56 65 85
10、下图为AOE-网,求:
11.假设一棵二叉排序树的关键字为单个字母,其后序遍历序列为ACDBFIJHGE,回答以下问题:
(1)画出该二叉排序树; (2)在等概率下的查找成功的平均查找长度。
成功:=(1*1+2*2+4*3+2*4+1*5)=10
12.设有正文AADBAACACCDACACAAD,字符集为A,B,C,D。利用哈夫曼算法设计一个二进制编码,请画出哈夫曼树并给出每个字符的哈夫曼编码。
13.使用普里姆算法从顶点1出发构造出下图所示的图的一棵最小生成树,并给出过程。
14.已知哈希函数为H(K)=K mod 13,哈希地址为0~14,采用二次探测再散列处理冲突,给出关键字(23,34,56,24,75,12,49,52,36,92,06,55)在哈希表中的分布,并求在等概率情况下查找成功的平均查找长度。
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
52 |
92 |
55 |
56 |
36 |
06 |
34 |
75 |
23 |
24 |
12 |
49 |
4 1 1 3
ASL=(8+5+2+2+4)/12=7/4
15.对关键字序列(72,87,61,23,94,16,5,58)进行堆排序,使之按关键字递减次序排列(小根堆),请写出排序过程中得到的初始堆和前三趟的序列状态。
16.设二叉树的中序遍历序列为BDCEAFHG,后序遍历序列为DECBHGFA,画出该二叉树,并写出该二叉树的先序遍历序列。
17.假设用于通信的电文仅由a、b、c、d、e、f、g、h几个字母组成,字母在电文中出现的频率分别为0.07、0.19、0.02、0.06、0.32、0.03、0.21和0.1,试为这些字母设计哈夫曼编码。
18.将整数序列(4,5,7,2,1,3,6)中的元素依次插入到一棵空的二叉排序树中,试构造相应的二叉排序树,并求在等概率下的查找成功的平均查找长度。
19.设AOE网如下图所示,找出该AOE网中的关键路径,并回答完成该工程需要的最短时间。
20.对下面待排序序列,写出采用希尔排序算法对该序列作升序排列时的每一趟的结果。(分别取增量d=5、3、1)
(78 100 120 25 85 40 90 15 60 35 10 5 50 30 10 28 12)
21.铁路进行列车调度时,常把站台设计成栈式结构的站台,如下图所示。试问:
(1)如何理解栈是一种操作受限的线性表?
基于数组结构,只允许在一段插入和删除元素
(2)若进站的六辆列车顺序如上所述,那么是否能够得到435612,325641,154623和135426的出站序列,如果不能,说明为什么不能; 如果能,说明如何得到(即写出"进栈"或"出栈"的序列)。
435612:不能 先进1 2 出栈只能是2 1
325641:可以
154623:不能 23 顺序不对
135426:可以