没有合适的资源?快使用搜索试试~ 我知道了~
广州大学914数据结构常见非代码题
需积分: 50 12 下载量 70 浏览量
2021-05-12
20:11:45
上传
评论 4
收藏 5.5MB DOCX 举报
温馨提示
试读
34页
总结往年题型加预测
资源详情
资源评论
资源推荐
最小生成树有两种:prim 算法,kruskal 算法
堆排序 一开始的序列不用排序,直接构造一个完全二叉树,然后在调整
排序二叉树 不用排序,直接构造,左小根中右大的逻辑构造
平均查找长度是 ASL 次数是(本层高度*本层元素个数)与 链式查找一样
哈夫曼编码最短路径长度 WPL 是算 本层分支数*所给的元素个数)
判断下列序列是否是堆。若不是堆,则把它们依次调整为堆。
(1) (100,85,98,77,80,60,82,40,20,10,66);
把上面的序列构造一棵完全二叉树
由此判断是大顶堆,不需要调整
(2) (100,98,85,82,80,77,66,60,40,20,10)
与 1 思路一样,排成二叉树,判断为大顶堆
(3) (100,85,40,77,80,60,66,98,82,10,20);
由此不是堆,调整后为
调整后的序列为(100,98,66,85,80,60,40,77,82,10,20) 二叉树的层次遍历
(4) (10,20,40,60,66,77,80,82,85,98,100);
小顶堆
1. 已知一组元素为(46、25、78、62、18、34、12、40、73),试画出按元素排列顺序输
入而生成的一棵二叉排序树,并求其平均查找长度。
ASL=(1+2*2+3*3+4*3)/9
次数是(本层高度*本层元素个数)
2. 已知一棵二叉树先序遍历结果为 ABCDEFGHIJ,中序遍历的结果为 CBEDAHGIJF,
试画出该二叉树。
3. 设无向图 G 如下图:
B E
A D G
C F
试给出:
(1) 该图的邻接矩阵;画出一边然后对称矩阵
[
0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 1 0 1 1 0
0 0 0 1 0 0 1
0 0 0 1 0 0 1
0 0 0 0 1 1 0
]
(2) 该图的邻接表;
(3) 该图的各顶点的度;
A B C D E F G
2 2 2 4 2 2 2
(4) 从 A 出发的“深度优先”遍历序列;
ABDEGFC
(5) 从 A 出发的“广度优先”遍历序列。
ABCDEFG
4. 假定一个待散列存储的线性表为(32、75、63、48、94、25、36、18、70),采
用散列函数 H(k)=k MOD 11,试画出以下两种情况的散列表,并求出在等概率
情况下的平均查找长度。
由于 H(k)=k%11,散列表长为 11(余数)
按照给定的线性表进行存储,不用排序。使用线性探查,余数存放
(一次查找)H(32)=32%11=10 H(75)=75%11=9
H(63)=63%11=8 H(48)=48%11=4 H(94)=94%11=6
H(25)=25%11=3
(3 次查找)3 4 无位置,之后存放在了 5 所以查找 3 次 H(36)=36%11=3
(1 次) 7 空位有位置 H(18)=18%11=7
(8 次 查找 4 5 6 7 8 9 10 0 循环)H(70)=70%11=4
(1) 采用线性探查法处理冲突。(冲突加 1 存放)
0 1 2 3 4 5 6 7 8 9 10
70 25 48 36 94 18 63 75 32
ASL=(1+1+1+1+1+1+3+1+8)/9 除以 9 个数字,查找成功的平均长度
(2) 采用拉链法处理冲突。
ASL=(7+2*2)/9 第一层为查找次数 1 第二层为查找次数 2 图像类似链式结构
5. 假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成。它们在电文中出
现的频度分别为{27,10,12,6,30,3,21,15}。要求:
(1) 请为这 8
个字母设计哈夫曼编码 ,并画出对应的哈夫曼树;
a:00 b:1101 c:010 d:11001 e:10 f:11000 g:111 h:011
(2) 计算该哈夫曼树的最小加权路径长度 WPL。
WPL=(27+30)*2+(12+15+21)*3+10*4+(3+6)*5 左 0 右 1 次数是分支
数
6. 设图 G=(V,E),其中 V={A,B,C,D,E,F},其邻接矩阵如下所示。
1.若将该图用邻接表存储,请写出图的邻接表。
2.按照 Prim 方法,从顶点 A 出发,求该网的最小生成树的产生过程,并计算该最小
生成树的代价值。
已知有权图求邻接表 到自身的距离为 0 没有权值的为∞,其他填写权值
图 最小生成树
A B C D E F
A (G )=
[
0 ∞ 10 ∞ 30 100
∞ 0 5 ∞ ∞ ∞
10 5 0 50 ∞ ∞
∞ ∞ 50 0 20 10
30 ∞ ∞ 20 0 60
100 ∞ ∞ 10 60 0
]
A
B
C
D
E
F
B C D E F
adjvert A C A A C E A A E D
lowcost ∞ 5 0 10 0 ∞ 50 20 0 30 0 100 60 10 0
最小生成树的边为 BC、CA、DE、EA、FD 最好按照顺序写
最小代价=10+30+10+20+5 (权值之和)
注:克鲁斯卡尔算法求最小生成树请自行完成。
7. 请画出利用下面的顺序存储结构表示的二叉树,#表示相应的位置没有结点存在。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A B # C D # # # E F G # # # #
(1) 写出该二叉树的先序遍历,中序遍历,后序遍历及层次遍历结果。
先序:ABCEDFG
中序:CEBFDGA
后序:ECFGDBA
层序:ABCDEFG
(2) 将此二叉树用仿真指针孩子双亲表示法存储。
A 0 ; B 1 C 2 D 3 E 4 F 5 G 6 没有的表示-1
字母 父母 左孩子右孩子
Parent Lchild Rchild
A -1 1 -1
B 0 2 3
C 1 -1 4
D 1 5 6
E 2 -1 -1
F 3 -1 -1
G 3 -1 -1
8. 对关键码序列(1, 5, 2, 4 , 6, 7, 8, 3),执行升序排序,写出以下排序算法在每一
趟排序结束时的关键码序列。
① 冒泡排序;
此序列为从后往前的冒泡筛选出最小的在左边,依次递增,也可从前往后帅选最大
在右边。
第一趟:1, (2, 5, 3 , 4, 6, 7, 8)
第二趟:1, 2,(3, 5 , 4, 6, 7, 8)
第三趟:1, 2,3,(4 , 5, 6, 7, 8)
剩余33页未读,继续阅读
码农研究僧
- 粉丝: 21w+
- 资源: 46
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0