数据树说明.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文档。上传文档
查看更多
数据树说明

6.4 树和森林 6.4.1树的存储结构;双亲表示法举例;6.4.1树的存储结构 二、孩子表示法(顺序存储);孩子表示法举例;孩子链表存储表示(链式存储);孩子链表存储表示举例;例1: 设树T以孩子链表为存储结构, 寻找值为x的双亲结点的算法如下:;例2: 删除值为x的结点的第i棵子树的算法delete如下:;Status delete(Ctree T, TElemType x, int i) { // 当值为x的结点不存在时返回-2;当值为x的结点为 //叶结点或无第i 棵子树时返回-1, 否则返回1. for(k=0; kT.n; k++) if(T.nodes[k].data == x) break; // 找到值为x的结点 if(k=T.n) return –2; // 值为x的结点不存在 p= T.nodes[k].firstchild; j = 1; if(!p) return –1; // x结点为叶结点 if(i==1){ // 删除长子时,特殊处理 j =p-child; // 记住要删除子树的下标 T.nodes[k].firstchild = p-next; free(p); }else{ while(p-next ji-1){p = p-next ; j++;} if(ji-1 || !p-next) return –1; // 无第i 棵子树 // p指向第i-1 个儿子 j = p-next-child; // 记住要删除子树的下标 s = p-next; p-next = s-next; free(s); } deletej(T, j); // 递归删除第j号结点及其子树 return 1; };三.孩子兄弟表示法 ---树的二叉树表示法(二叉链表示法);R;6.4.2 森林与二叉树的转换 一.森林转换成二叉树;二. 二叉树转换成森林;6.4.3 树和森林的遍历;森林的两种遍历方法:;6.6 赫夫曼树及其应用 6.6.1最优二叉树(赫夫曼树);最优二叉树 或赫夫曼(Huffman)树的定义;例1:下面三棵二叉树的四个叶子结点a,b,c,d的权值为7、5、2、4;例2 最佳判定方法(p.144) (a)WPL=10x4+30x4+40x3+15x2+5x1=315 (b)WPL=5x3+15x3+40x2+30x2+10x2=220;构造赫夫曼树的算法思想;构造赫夫曼树举例;6.6.2 赫夫曼编码 赫夫曼树中没有度为1的结点---严格的二叉树;求赫夫曼编码的算法如下:;求赫夫曼编码的算法(续一):;求赫夫曼编码的算法(续二):;求赫夫曼编码的算法如下:;无栈非递归遍历赫夫曼树, 求赫夫曼编码;例6-2 八种字符,其频率分别为: 0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11;5;6.8 树的计数;例6-5 已知结点的前序序列和中序序列,求整棵二叉树。;实验与习题

文档评论(0)

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

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

1亿VIP精品文档

相关文档