数据结构习题课.pptVIP

  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文档。上传文档
查看更多
《数据结构》习题课;第2章 线性表;在线性表中最常用的操作是存取第i个元素及其前驱的值,可采用_ABCD_存储方式。 A.顺序表 B.单向链表 C.双向循环链表 D.单向循环链表 假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算法,将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表的(即A表和B表的)结点空间存储表C。 ;void merge(Linklist A,Linklist B,Linklist C) { Linklist pa,pb,p; pa = A-next; pb = B-next; C = A; C-next = NULL; free(B); ; while(pa pb) { if(pa-data = pb-data) { p = pa; pa = pa-next; p-next = C-next; C-next = p; } ; else { p = pb; pb = pb-next; p-next = C-next; C-next = p; } } ; if(!pa) { while(pb) { p = pb; pb = pb-next; p-next = C-next; C-next = p; } } ; else if(!pb) { while(pa) { p = pa; pa = pa-next; p-next = C-next; C-next = p; } } } ;建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每个结点的data域存放一个二进制位,并在此链表上实现对二进制数加1的运算。(假设链表L为从低位到高位) void AddOne(Linklist L) { Linklist p = L-next; while(p-next p-data == 1) { p-data = 0; p = p-next; } ; if(p-next) p-data = 1; else { if(p-data == 0) p-data = 1; else { p-data = 0; Linklist q = (Linklist)malloc(sizeof(Node)); ; q-data = 1; q-next = NULL; p-next = q; } } return; } ;第三章 栈和队列;试利用栈编写计算下列递归函数的非递归形式的算法。 0, m = 0,n ≥ 0 g(m,n)= g(m - 1,2n)+n, m 0,n ≥ 0 (程序);第6章 树和二叉树;根据先序序列和中序序列确定二叉树 将二叉树转化为树: 二叉树中每个结点都对应于树中每个结点; 二叉树中某结点的左孩子为树中该结点的???一个孩子; 二叉树中某节点的右孩子为树中该结点的右兄弟。 ;假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为: 0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10 构造哈夫曼树的算法步骤:(P184) 找最小树:在森林F中选择两棵结点权值最小的二叉树,作为一棵新二叉树的左右子树,标记新二叉树的根结点权值为其左、右子树的根结点权值之和; 删除与加入:从F中删除被选中的那两棵二叉树,同时把新构成的二叉树加入到森林F中。 ;(1)0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10 ;(2)0.07,0.19,0.06,0.32,0.21,0.10,0.05 ;(3)0.07,0.19,0.32,0.21,0.10,0.11 ;(4)0.19,0.32,0.21,0.11,0.17 ;(5)0.19,0.32,0.21,0.28 ;(6)0.32,0.28,0.40 ;(7)0.40,0.60 ;已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。 int leaf(Bitree T) { if(!T) return 0; if(!T-Lchild !T-Rchild) return 1; return(leaf(T-Lc

文档评论(0)

中华书局 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档