第六章 树和二叉树.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 树和二叉树 第6章 树和二叉树 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 6.1 树的定义和基本术语 课堂练习(一) 课堂练习(一) 6.2 二叉树 6.2 二叉树---定义 6.2 二叉树---性质 6.2 二叉树---性质 6.2 二叉树---特例 6.2 二叉树---特例 6.2 二叉树---性质 6.2 二叉树---存储结构 二叉树的顺序存储表示可描述为: 6.2 二叉树---存储结构 二叉链表类型表述如下: 结论1:在含有n个结点的二叉链表中有n+1个空链域。(提示: n0 = n2+1 ) 三叉链表类型表述如下: 6.2 二叉树---存储结构 课堂练习(二) 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 6.3 遍历二叉树和线索二叉树 课堂练习(三) 课堂练习(三) 6.4 树和森林 6.4 树和森林---树的存储 6.4 树和森林---树的存储 6.4 树和森林---树的存储 6.4 树和森林---树的存储 6.4 树和森林---树的存储 6.4 树和森林---树与二叉树的转换 6.4 树和森林---树与二叉树的转换 6.4 树和森林---森林与二叉树的转换 6.4 树和森林---树的遍历 6.4 树和森林---森林的遍历 课堂练习(四) 课堂练习(四) 课堂练习(四) 课堂练习(四) 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 课堂练习(五) 小结 课堂练习(判断题) 课堂练习(选择题) 课堂练习 作业(一) 作业(一) 作业(一) 作业(二) 作业(二) 作业(二) 作业(三) 第6章 树和二叉树 按照前序遍历建立二叉树 void Creat_Bintree(BiTree T) { char ch; if((ch=getchar())==#) T=NULL; else { T=(BiTNode*)malloc(sizeof(BiTNode)); T-data=ch; Creat_Bintree(T-lchild); Creat_Bintree(T-rchild); } } 按照中序遍历建立二叉树 void Inorder(BiTree t) { if(t!=NULL) { Inorder(t-lchild); printf(%c,t-data); Inorder(t-rchild); } } 例:已知某系统在通信联络中只可能出现八种字符,其概率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10,试设计赫夫曼编码。 解:先将概率放大100倍,以方便构造赫夫曼树。 权值集合w={7,19,2,6,32,3,21,10} 2 3 5 6 11 7 10 17 28 32 60 19 21 40 100 1101 0.10 01 0.21 11111 0.03 10 0.32 1110 0.06 11110 0.02 00 0.19 1100 0.07 编码 频率 胳靳港脐胶坟蚊吧垛档啪舟腆吧伴离产秩厂咎帘称渡寺姜袄榴锦唁箍全险第六章 树和二叉树第六章 树和二叉树 typedef struct{ int weight;//权值分量(可放大取整) int parent,lchild,rchild; //双亲和孩子分量 }HTNode,*HuffmanTree;//用动态数组存储Huffman树 typedef char**HuffmanCode; //动态数组存储Huffman编码表 1、Huffman树和Huffman树编码的存储表示: 四、如何编程实现Huffman编码? 参见教材P147 建议1:Huffman树中结点的结构可设计

文档评论(0)

6358999 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档