- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南邮数据结构B期末试卷
PAGE 7
数 据 结 构B 期末试卷
班级 学号 姓名 得分
题号
一
二
三
四
五
六
分数
解答题:(共82分)
1、下列程序段或函数的时间复杂度。(10%)
for (int k=0;km;k++) (2)int fac(unsigned int n)
for (int j=0;jn;j++) { if (n= =0||n= =1) return 1;
a[k][j]=k*j; else return n*fac(n-1);}
int Prime(int n) (4)k=1; x=0;
{ int k=2 , x=(int)sqrt(n) ; do {
while (k=x) { x++; k*=2;
if (n % k= =0) break; }
k++; } while (kn);
if (kx) return 1;
else return 0; }
2、有A、B、C、D四个元素依次入栈,即入栈序列唯一,问共能得到多少种出栈序列?能否得到以下四种出栈序列:ABCD、BDAC、CBDA、DBAC。对能得到的序列,请写出Push、Pop序列;对不能得到的序列,请说明理由。(6%)
3、矩阵Am*n以行优先方式从1000H处开始存放,元素类型未知,已知:A[2][3]存放在1011H处,A[1][1]存放在1005H处,求元素A[2][0]的存放位置。(6%)
4、根据下图所示的树回答问题:(共13%)
(1)画出该树等效的二叉树。 (3%)
AB C
A
B
C
D
E F G H I J
K L
(2)、写出对该树进行先序、后序遍历的结点序列。(4%)
(3)用带右链的先序表示法来存储此树,填写下表。(6%)
下标
0
1
2
3
4
5
6
7
8
9
10
11
sibling
element
ltag
5、假设用于通讯的电文仅由 {ABCDEFGH} 8个字母组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。请画出哈夫曼树并在树中标明编码情况,给出这8个字母的哈夫曼编码,最后求出WPL。(9%)
6、对下图,要求:(共13%)
12
1
2
3
4
5
6
7
8
3
3
5
5
5
5
4
6
6
4
7
8
5
(2)写出从顶点1到顶点8的四条路径长度为3的简单路径。(2%)
(3)分别写出从顶点1出发根据(1)所示的邻接表用深度优先搜索和广度优先搜索遍历图得到的顶点序列。(4%)
(4)求出它的一棵最小代价生成树(方法任选),其代价是多少?你所求出的最小代价生成树是唯一的吗?(4%)
7、 一项工程P由P1,P2,P3,P4,P5,P6六个子工程组成,这些工程之间有下列关系:P1P2, P1P3, P1P4, P2P3, P2P5, P3P6, P4P6, P5P6。其中符号“”表示先于关系,例如P1P2表示只有在工程P1完成之后才能进行P2的工作。请:(7%)
画出该工程的AOV网
给出工程P的其中四种可能的施工顺序。
8、按如下关键字序列(60,88,107,15,8,23,100)从空树开始建立一棵AVL搜索树,画出建树的步骤以及调整平衡的过程(6%)
9、设散列表ht[13],散列函数h(key)=key % 13。采用二次探查法解决冲突,试用关键字值序列:{56,78,14,27,41,70,51,66,24,50,36}建立散列表。(6%)
i
0
1
2
3
4
5
6
7
8
9
10
11
12
ht[i]
10、元素序列:{55,71,12,98,4,70,51 } ,请写出用冒泡排序法和2路合并排序法进行排序的各趟排序结果。(6%)
冒泡排序法 2路合并排序法
二、算法填空:(8%)
以下算法实现二叉搜索树的删除,根据给定的关键字k,找到待删除元素后将元素值通过参数e返回,若成功删除则返回true;找不到待删除元素则返回false.
template class E,class K
_____
文档评论(0)