收藏 分享(赏)

应用题复习(含解).doc

上传人:kpmy5893 文档编号:7545837 上传时间:2019-05-21 格式:DOC 页数:11 大小:257.50KB
下载 相关 举报
应用题复习(含解).doc_第1页
第1页 / 共11页
应用题复习(含解).doc_第2页
第2页 / 共11页
应用题复习(含解).doc_第3页
第3页 / 共11页
应用题复习(含解).doc_第4页
第4页 / 共11页
应用题复习(含解).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、一、应用题1. 已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:(1)设线性表L=(51,-9,-6,39,0,-11 ,34,70,-16) ,写出执行算法f11(for (i=j=0;ilen; i+)if(L-elemi=0)if(i!=j)L-elemj=L-elemi;j+;L-len=j;【答案】(1)L=(51,39,0,34,70)(2) 删除顺序表中小于0的数。2. 假设以带头结点的单链表表示线性表,阅读下列算法f22,并回答问题:(1)设线性表为( a 1, a2, a3, a4, a5, a6, a7 ), 写出执行算法f22 后的线性表;(2)简述算法f22的功

2、能。void fun(LNode *L)/L为带头结点单链表的头指针P =L;while (p p-next =q-next;p =q-next;free(q);【答案】(1)(a 2,a4,a6)(2) 删除单链表中数据结点序号为奇数的那些结点。3.假设以数组seqnm存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。(1)写出队满的条件表达式;(2)写出队空的条件表达式;(3)设m=50,rear=19,quelen=25,求队头元素的位置;(4)写出一般情况下队头元素位置的表达式。【答案】(1)quelen=m(2)quelen=0(3)45(

3、4)front=(rear-quelen+1+m)%m4.假设以数组seqnm存放循环队列的元素,设变量front和rear分别指示循环队列中队头元素的位置和队尾元素的位置。(1)写出队满的条件表达式;(2)写出队空的条件表达式;(3)设m=40,rear=13,front=19,求队列的元素的个数quelen;(4)写出一般情况下元素的个数的表达式。【答案】(1)(rear+1)%m=front(2) rear=front(3)34(4) quelen=(rear-frontm)%m5. 假设有一个如下图的88矩阵,矩阵元素都是整型量(次对角线以上的元素都是0)。若将上述矩阵中次对角线及其以

4、下的元素按行优先压缩存储在一维数组B中,请回答下列问题:(1)B数组的体积至少是多少?(2)若a 18存储在B0中,a 56存储在Bk中,则k值为多少?(1)(2)【答案】(1)36 (2)136. 阅读下列算法,并回答问题:(1)Q、Q1和Q2都是队列结构,设队列Q= (1,0,-5,2,-4,-6 ,9) ,其中1为队头元素,写出执行f33 (lnitQueue (Q1);lnitQueue (Q2);while (!QueueEmpty (Q) e=DeQueue (Q);if (e=0) EnQueue (Q1,e);else EnQueue (Q2,e)【答案】(1)Q=() Q1=

5、(1,0,2,9) q2=(-5,-4,-6)(2)将Q队列中的数据全部出队;不小于0的进Q1,否则进Q2。7. 已知二叉树如右图所示。(1)画出该二叉树的二叉链表;(2)分别写出该二叉树的先根、中根和后根遍历序列。【答案】(1) 二叉链表:(2)先根遍历序列:ABDCEGF中根遍历序列: DBAEGCF后根遍历序列: DBGEFCA8、假设一棵二叉树的先根遍历序列为ABCDEFGH,中根遍历序列为CDBEGFHA。(1)画出该二叉树;(2)写出后根遍历序列。【答案】(1)二叉树(2)后根遍历序列:DCGHFEBAD ACB EG F DBEHGFACAB CID F GHEAB CIDHFG

6、E9、假设一棵二叉树的中根遍历序列为DGBEACHFI,后根遍历序列为GDEBHIFCA(1)画出该二叉树;(2)写出先根遍历序列。【答案】(1)二叉树:(2)先根遍历序列:ABDGECFHI10假设一棵二叉树的层次遍历序列为ABCDEFGHI,中根遍历序列为DHBEAFCIG。(1)画出该二叉树;(2)写出先根和后根遍历序列。【答案】(1)二叉树:(2)先根遍历序列:ABDHECFGI后根遍历序列:HDEBFIGCA11设某通讯系统仅用七个英文字符A,D,G,H,M,S,T,每个字符的使用频率分别为3,7,18,2,6,10,14。请画出对应的哈夫曼编码树(按照每个结点的左子树根结点的权小于

7、等于右子树根结点的权的次序构造) ,并求出每个字符的哈夫曼编码。【答案】000000111111T GM SHDA251161453235171071860哈夫曼编码A D G H M S T0001 100 11 0000 001 101 0112. 假设通信电文使用的字符集为 S,T,B,F,C ,字符的哈夫曼编码依次为: 011,10,00,010和11。(1)请根据哈夫曼编码画出此哈夫曼树,并在叶子结点中标注相应字符;(2)若这些字符在电文中出现的频度分别为:4,7,5 ,2和9,求出电文的总长度。 。【答案】(1)编码哈夫曼树 (2) 电文的总长度=4*3+7*2+5*2+2*3+9

8、*2=6013、已知一个有向图如右图所示。(1)试画出它的邻接表。 (表结点按顶点编号递减排列)(2)分别求出从 v1 出发按深度优先搜索和广度优先搜索算法遍历得到的顶点序列。【答案】(1)(2)深度优先搜索序列:v1,v 4,v 3, v 5,v 2广度优先搜索序列:v1,v 4,v 3, v 2,v 514、已知一个AOV网如右图所示。(1)试画出它的邻接链表。 (表结点按顶点编号递减排列)(2)试写出按照拓扑排序算法得到的拓扑序列。【答案】(1) (2)v 2,v5,v1,v3,v6,v4160000 111111275 6 72 49BF ST CV51V11V41V21V61V311

9、 v1 06 v6 3 5 v5 1 3 V3 24 v4 2 21v2 0 6 4 6 4 3 6 5 3 12 34 55 4 3 2 4 4 2 v2v3v1v5v415、请用普里姆算法(从顶点 V3 开始)和克鲁斯卡尔算法构造下图所示网络的最小生成树,按照并入最小生成树中边的次序填写下表,并画出最小生成树。【答案】(1)普里姆算法构造过程: 最小生成树:(2)克鲁斯卡尔算法构造过程: 最小生成树:16、设关键字序列(17,8,13,25,24,16,3,19,1) ,写出用下列方法排序时,第一趟结束时关键字的排列状态。(1)冒泡排序 (2)希尔排序(d 1=4) (3)快速排序【答案】

10、(1)冒泡排序 (8,13,17,24,16,3,19,1,25)(2)希尔排序(d 1=4) (1,8, 3,19,17,16,13,25,24 )(3)快速排序(1,8,13,3 ,16)17(24,19,25)17、对有序表12,24,30,46,52,61,70,79,83进行折半查找方法查找,次序 1 2 3 4 5始 点 终 点权 值次序 1 2 3 4 5始 点 V3 V1 V3 V2 V2终 点 V1 V4 V2 V5 V6权 值 12 14 16 8 10次序 1 2 3 4 5始 点 V2 V2 V3 V1 V3终 点 V5 V6 V1 V4 V2权 值 8 10 12 1

11、4 1614v1v4 v5v2v3 V6108181612 1015 192014v1v4 v5v2v3 V681612 1014v1v4 v5v2v3 V681612 1052243012 6170467983211428957168578033(1)求出查找 24 和 83 时所需比较的次数;(2)画出判定树; (3)求ASL和MSL。【答案】(1)24 比较 2 次;83 比较 4 次(2)判定树:(3)ASL=(1+4+12+8)/9=25/9=2.78MSL=418已知一组数据元素为(68,21,95,71,14,57,28,33,80) ,要求:(1)试从空树开始画出按元素排列顺序

12、输入而生成的一棵二叉排序树;(2)画出删除结点 68 后的二叉排序树。【答案】(1) 二叉排序树:(2)删除结点 68 后的二叉排序树:19.选取哈希函数为 H(K)=K % 7。用线性探测的开放地址法处理冲突。试在 08 的散列地址空间中对关键字序列25,72,48,19,32,50,68构造哈希表,并求出等概率下查找成功的平均查找长度。【答案】(1) 哈希表:比较次数: 1 1 1 1 1 4 4(2) 73*25ASL50 72 25 19 48 32 68 0 1 2 3 4 5 6 7 8 或: 2114 9571 5728 8033 2114 28 9580 71573320. 下

13、列是一棵五阶B-树,依次执行以下两步操作,画出每一步执行后所得到的B-树形。(1)插入n;(2)删除e 。c f j r a b g h i d e k l m p s t u x 【答案】(1)插入n: a b g h i d e s t u x j c f m r k l n p (2)删除e:a b d f s t u x j c g m r k l n p h i 21已知关键字序列为:(70,31,52,41, 88,12,27,66)哈希表长为 9,哈希函数为:H (k)k %9,用链地址法处理冲突,试构造哈希表,并求等概率下查找成功的平均查找长度。【答案】(1) 哈希表:0123

14、4567827 12 31 52 41 70 88 66 (2) 5.1823*215ASL22. 由森林转换得到的对应二叉树如图所示,写出原森林中第三棵树的前序序列和后序序列。【答案】还原后的森林:第三棵树的前序序列GHIJ ;后序序列HJIG23. 假设一棵树的先根序列为ABCEFIJGHKD,后根序列为BEIJFGKHCDA。请画出该树。【答案】(1)因为树的先根和后根遍历序列分别与其转换后对应的二叉树的先根和中根遍历序列相同,所以可先得到的对应的二叉树如下图所示:AB DL KC FE GH IJ G H I J K (2)根据树与二叉树的转换规则,可得到树如下图所示: G H I J

15、 K 24. 已知一个散列表如下图所示:19 32 48 58 220 1 2 3 4 5 6 7 8 9 10 11 12 其散列函数为h(key)=key%13, 处理冲突的方法为双重散列法,探测序列为:hi=(h(key)+i *h1(key)%m i=1,,m1其中h1(key)=key%11+1回答下列问题:(1)对表中关键字19,32和22进行查找时,所需进行的比较次数各为多少?(2)该散列表在等概率查找时查找成功的平均查找长度为多少?【答案】()对关键字19,32和22进行查找的比较次数为、3;()平均查找长度 59321ASLH(32)=32%13=6 比较1次H(48)=48%13=9 比较1次H(58)=58%13=6(冲突) h1=58%11+1=4H1(58)=(6+4)%13=10(成功) 比较2次H(22)=22%13=9(冲突) h1=22%11+1=1H1(22)=(9+1)%13=10(冲突)H2(22)=(9+2*1)%13=11(成功) 比较3次H(19)=19%13=6(冲突) h1=19%11+1=9H1(19)=(6+9)%13=2(成功) 比较2次

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报