数据结构复习总结样题答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
- PAGE 3 - 数据结构复习样题答案 一. 单项选择题(共12分) 1. B 2. A 3. A 4. D 5. C 6. D 7. B 8. C 二. 填空题(共12分) 9. 数据对象、数据关系、基本操作 10. 从表中任一结点出发均可找到表中其他结点 11. 字符依次对应相同且长度相同 12. 33 13. 各结点均无左孩子 14. n 15. 在排序过程中需要访问外存 16. 散列 三. 解答题(共36分) JanFebMar Jan Feb Mar Apr June May July Aug Sep Oct Nov Dec 成功的平均查找长度=42/12 ES CJS BS DIS KS AS FGS 18.(10分)已知一个长度为12的表为 (Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec) 试将表中元素依次插入到一棵初始为空的二叉排序树(字符串之间按字典顺序比较大小)。画出该二叉排序树,并求出等概率情况下查找成功的平均查找长度。 设哈希表长度为13,哈希函数H(k)= ?i/2?,其中i为关键字k中第一个字母在字母表中的序号(例如A和D的序号分别为1和4),用链地址法解决冲突。请画出通过依次插入表中元素所构造的散列表,并求出在等概率情况下查找成功的平均查找长度。 0 1 2 3 4 5 6 7 8 9 10 11 12 MayAugSepNovDecFebJuly May Aug Sep Nov Dec Feb July MarAprOctJuneJan Mar Apr Oct June Jan 成功的平均查找长度=18/12 成功的平均查找长度=18/12 19.(5分)假设电文中仅由a到h共8个字母组成,字母在电文中出现的频度依次为 7,19,2,6,32,3,21,10 请画出由此构造的哈夫曼树(要求树中所有结点的左右孩子必须是左大右小),并写出这8个字母相应的哈夫曼编码。 b b 19 17 c 2 d 6 e 32 f 3 a 7 h 10 g 21 40 100 60 5 11 28 0 0 0 0 0 0 0 1 1 1 1 1 1 1 字符 哈夫曼码 a 0101 b 11 c 01111 d 0110 e 00 f 01110 g 10 h 0100 20.(8分)若对序列(25,19,7,41,29,12,23,26)按升序排序,请分别给出 步长为4的一趟希尔排序的结果; 初始大根堆。 答:(1) (25,12,7,26,29,19,23,41) (2) (41,29,23,26,25,12,7,19) 5 5 2 4 3 1 9 42 61 3 81 2 7 7 21.(8分)对于右边的带权图G,请 画出G的邻接矩阵; 画出G的最小生成树。 答:(1) (2) 52 5 2 4 3 1 42 3 2 7 四. 算法题(共30分) 22.(5分)函数f22定义如下,其中函数调用Insert(L, i, k)在顺序表L的第i位置插入k。 void f22(SqList L, int i) { if (i 0) { f22(L, i-1); for (int k=1; k=i; k++) Insert(L, i, k); } } 设有空顺序表L =(),请写出调用递归函数f22(L,3)后 (1) L的长度:6 (2) L =( 1,2,3,2,1,1 ) 23.(5分)算法f23(L)将带头结点的单链表L逆置。请在画线处填空。 void f23(LinkList L) { LinkList p = L-next; L-next = NULL ; while ( p ) { LinkList s = p-next ; p-next = L-next; L-next = p ; p = s; } } 24.(5分) s是一个升序静态查找表,请简要说明函数调用f24(s, 1, s.length, k)的意义。 int f24(SSTable s, int low, int high, KeyType k) { if (lowhigh) return 0; int mid=(low+high)/2; if (k==s.elem[mid].key) return mid; if (

文档评论(0)

kbook + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档