数据结构C++PPT5.ppt

上传人:p** 文档编号:160565 上传时间:2023-03-02 格式:PPT 页数:75 大小:1.64MB
下载 相关 举报
数据结构C++PPT5.ppt_第1页
第1页 / 共75页
数据结构C++PPT5.ppt_第2页
第2页 / 共75页
数据结构C++PPT5.ppt_第3页
第3页 / 共75页
数据结构C++PPT5.ppt_第4页
第4页 / 共75页
数据结构C++PPT5.ppt_第5页
第5页 / 共75页
数据结构C++PPT5.ppt_第6页
第6页 / 共75页
数据结构C++PPT5.ppt_第7页
第7页 / 共75页
数据结构C++PPT5.ppt_第8页
第8页 / 共75页
数据结构C++PPT5.ppt_第9页
第9页 / 共75页
数据结构C++PPT5.ppt_第10页
第10页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据结构C++PPT5.ppt》由会员分享,可在线阅读,更多相关《数据结构C++PPT5.ppt(75页珍藏版)》请在第壹文秘上搜索。

1、2 5.1 定义及主要特性3 基本形态空二叉树A只有根结点的二叉树AB右子树为空AB左子树为空ABC左、右子树均非空4 二叉树的相关术语5 二叉树的相关术语6 二叉树的相关术语7 二叉树的相关术语8 完全二叉树12311458912136710141512345671231145891267101234569 二叉树性质10 二叉树的性质11 二叉树的性质12 二叉树的性质13 二叉树的性质14 二叉树的抽象数据类型15 5.2 周游二叉树16 先序遍历ADBCD L RAD L RD L RBDCD L R17 中序遍历ADBCL D RBL D RL D RADCL D R18 后序遍历A

2、DBC L R DL R DL R DADCL R DB19 举例-+/a*b-efcd中序遍历:后序遍历:层次遍历:-+a * b - c d / e f-+a*b-cd/ef- +a *b - c d/e f-+a*b-c d/e f先序遍历:20 前序遍历算法21 遍历算法应用22 5.3 二叉树的实现23 二叉树的存储24 二叉树存储(区别叶和分支)25 表达式树:联合实现方法26 用不同的类实现分支和叶27 不同类实现的分支结点28 5.3.2 结构性空间开销分析29 结构性空间开销分析(2 )2(2 )2nppnpdpdn30 5.3.3 使用数组实现完全二叉树31 顺序存储32

3、完全二叉树的下标对应关系00000000000033 完全二叉树的下标公式34 5.4 二叉查找树35 BST图示36 检索37 二叉检索树类的定义38 二叉检索树类的定义39 检索40 插入41 BST插入图示42 删除43 删除子树中最小值图示44 删除右子树中最小值结点45 BST Remove(1)46 BST Remove(2)47 5.5 堆与优先队列48 最小值堆49 最大值堆的实现50 建堆图示51 堆的形成52 Shiftdown操作53 举例4965382713769750496538271376509749133827657650974913382765765097132

4、738496576509754 Shiftdown55 Remove Max Value56 建堆操作的效率57 5.6 Huffman编码树58 数据压缩和不等长编码59 5.6.1 建立Huffman编码树10niiilw这个扩充二叉树的叶结点带权外部路径长度总和这个扩充二叉树的叶结点带权外部路径长度总和最小(注意不管内部结点,也不用有序)。权越大的叶结最小(注意不管内部结点,也不用有序)。权越大的叶结点离根越近;如果某个叶的权较小,可能就会离根较远。点离根越近;如果某个叶的权较小,可能就会离根较远。60 建立Huffman树的过程61 Huffman建树图示62 Huffman建树图示6

5、3 Huffman建树图示64 Huffman树结点的实现65 Huffman树叶节点的实现66 Huffman树分支结点的实现67 元素/频率对的类声明68 Huffman树的类声明69 Huffman树的类声明70 Huffman树构建函数/ Build a Huffman tree from list fltemplate HuffTree*buildHuff(SLListHuffTree*, HHCompare * fl) HuffTree *temp1, *temp2, *temp3; for (fl-setStart(); fl-leftLength()+fl-rightLengt

6、h()1; fl-setStart() / While at least two items left fl-remove(temp1); / Pull first two trees fl-remove(temp2); / off the list temp3 = new HuffTree(temp1, temp2); fl-insert(temp3); / Put the new tree back on list delete temp1; / Must delete the remnants delete temp2; / of the trees we created return temp3;71 编码结果平均代码长度是平均代码长度是2.565362.56536。72 5.6.2 Huffman编码及其用法73 Huffman编码及其用法74 Huffman树编码效率)(2211nnpcpcpc75 Huffman树编码效率

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > .NET

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!