数据结构试题A答案.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文档。上传文档
查看更多
《数据结构》试题A 参考答案 一、填空题(每空1分,共25分) 1.顺序,链式 2.线性表中元素的数目 3.限定在表头作删除,在表尾作插入 4.n-i 5.后进先出 6.连续字符组成子序列,仅由空格字符组成的字符串 7.1084 8.树中各结点的层的最大值 9.树中各结点的度的最大值 10.(log2(n+1)(,或 (log2n+1(,或 (log2n(+1 11.2k-1-1 12.弧尾的弧 13.邻接表、逆邻接表、十字链表 14.10,7,8,9;10,24,77,110 15.数字分析法、除留余数法 、平方取中法、折叠法 16.n(n-1)/2, n-1 二、简答题(每小题5分,共10分) 1.答:二叉树有5种基本形态,举例如下: 其中: B1:为空二叉树; B2:有根结点,左右子树均为空二叉树; B3:有根结点,左子树为非空二叉树,右子树为空二叉树; B4:有根结点,左子树为空二叉树,右子树为非空二叉树; B5:有根结点,左右子树均为非空二叉树。 2.答:对于顺序存储结构: (1)优点:是一种随机存取结构,存取任何元素的时间是一个常数,速度快;结构简单,逻辑上相邻的元素在物理上也是相邻的;不使用指针,节省存储空间。 (2)缺点:插入和删除元素,平均需要移动约半个表的元素,消耗大量时间;需要提供一个连续的存储空间;插入元素可能发生“溢出”;表尾之后的自由存储空间不能被其它表的数据占用(共享)。 对于链式存储结构: (1)优点:插入和删除元素,不必移动元素,只需修改相关结点的指针;不需要一个连续的存储空间。 (2)缺点:不是随机存取结构,查找元素的时间与元素在表中位置有关,不是一个常数;使用指针,指针需占用一定的存储空间;系统需提供动态存储管理功能。 三、求解问题(每小题6分,共18分 ) 1.解: (1)统计: 字符 A B C D E 频度 8 6 4 2 1 构造哈夫曼树: ( 2) A、B、C、D、E、F 的哈夫曼码: 字符 A B C D E 编码 0 10 111 1101 1100 (3)路径长度PL和带权路径长度WPL: PL=1+1+2+2+3+3+4+4=20 WPL=8*1+6*2+4*3+1*4+2*4=44 2.解:(1)计算哈希地址: K 19 27 26 28 29 40 64 21 15 12 42 41 H(k) 5 13 12 0 1 12 8 7 1 12 0 13 构造哈希表: 28 29 15 42 41 19 21 64 26 27 40 12 地址 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (2)查找关键字40,需依次与26,27,40比较大小。 (3)查找成功时的平均查找长度: ASL=(1+1+1+1+1+3+1+1+2+4+4+8)/12=28/12=7/3≈2.33 3.解:(1)构造二叉排序树: (2)平均查找长度: ASL=(1+2+2+3+3+3+4+4+4)/9=26/9≈2.9 四、画存储结构图(每小题3分,共12分) 1.二维数组A[1..3,1..4]的以列序为主序的顺序存储结构。 2.下列树的双亲表示法: 3.二叉树T的顺序存储结构: 4.有向图G的逆邻接表: 五、输出结果如下: d da data data data s data st data str data stru 六、算法填空(每空2分,共计12分) struct Lnode { int data; struct Lnode *next; }; struct Lnode *creat( ) { struct Lnode *head,*f,*q,*p;int e; head=(struct Lnode *)malloc(struct Lnode); head-next=NULL; do{ f=(struct Lnode *)malloc(structLnode);

文档评论(0)

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

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

1亿VIP精品文档

相关文档