- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构06gj
树的结构特点 树型结构是以分支关系定义的层次结构, 任意一棵非空树中:(1)有且仅有一个特定 的称为根的结点;(2)当n1时,其余结点为分为 m个互不相交的有限集T1,T2,,,T m,每一个子集本身 也是一棵树。 树型结构在编译程序中,可用来表示源程序 的语法结构。 在数据库系统中,树型结构也是信 息的重要组织形式之一。 6.2 二叉树 二叉树的5种形式 二叉树的性质 二叉树的性质(续) 特殊形态的二叉树 二叉树的抽象定义 ADT BinaryTree{ 数据对象D:D是具有相同特性的数据元素的集合。 数据关系R:若D=空集,R为空集,称为空二叉 树; 若D为非空,R为二元关系。 基本操作P:…… } ADT BinaryTree 二叉树的基本操作(续) 基本操作函数原型 基本操作函数原型(续) 最简单的Visit函数 Status PrintElement(TElemType e){ printf(e); //输出元素e的值 return OK;//返回成功标志 } //前向遍历原型 //PreOrderTraverse(BiTree T, Status(*Visit)(TElemTyep e)) //调用实例:PreOrderTraverse(T,PrintElement) CreateBiTree InOrderTraverse InOrderTraverse CreateBiTree 6.3.2 线索二叉树(了解) 孩子表示法1.k叉树结点表示(固定长结点) 2.变长结点表示 3.孩子链表表示 带双亲的孩子表示法 孩子兄弟表示法(二叉树表示法) 存储表示 6.4.2 森林和二叉树的转换1、树转换成二叉树 6.6.1 基本术语 本章小结 本章作业 将百分制转换成五级计分制 if(a60) b=‘E’; else if(a70) b=‘D’; else if(a80) b=‘C’; else if(a90) b=‘B’; else b=‘A’; a60 b=‘E’ a70 b=‘D’ a80 b=‘C’ a90 b=‘B’ b=‘A’ 100个学生中5个不及格15个60几分40个70几分30个80几分10个90几分 5 15 40 30 10 需比较5+2*15+3*40+4*30+4*10 =315次 带权路径长度的例子 (1)根据给定的n个权值{w1,w2,…,wn},构成n棵二叉树的集合F={T1,T2,…,Tn},Ti 为只有一个结点的树,其权为wi。 (2)在F中选取两棵权值最小的作为左右子树构造一棵新二叉树,其根结点的权值为其左右子树权值之和。 (3)在F中删除这两棵树,同时将新得到的二叉树加入F中。 (4)重复(2)和(3),直到F中只含一棵树为止。该树即为赫夫曼树。 赫夫曼树算法 5 2 7 4 A B C D C D 6 5 7 A B C D B A 11 7 C D B A 数字通信传输电文 ABACCDA 一般编码方案 11 10 01 00 D C B A 电文 00010010101100 14位 岐义编码方案 A: 0 B: 00 C: 1 D: 01 不是 赫夫曼编码的应用 111 110 10 0 D C B A 理想编码方案 ???通信中,可以采用0,1的不同排列来表示不同的字符,称为二进制编码。 在一个字符集中,任何一个字符的编码都不是另一个字符编码的前缀,这种编码称为前缀编码。 可以利用二叉树来设计二进制的前缀编码。约定左分支表示字符‘0’,右分支便是字符‘1’,以分支字符串作为该叶子结点字符的编码。 6.6.2 哈夫曼编码 如何得到最短的二进制编码? 用n个字符出现的频率作权,构造一颗赫夫曼树,来求得最短的二进制编码,称为赫夫曼编码。 哈夫曼编码是一种不等长的二进制编码。 在哈夫曼树中得到的叶子结点的编码为从根结点到叶子结点中所有路径中0、1的顺序排列。 哈夫曼编码 电文ABACCDA 01001101101110 14位 111 110 10 0 D C B A B C D A 0 1 0 1 0 1 用二叉树设计前缀码 电文 ABACCDA 字符出现的频度
您可能关注的文档
最近下载
- 2024—2025学年广东省佛山市顺德区九年级上学期期中考试化学试卷.doc VIP
- 阿托品化与阿托品中毒的主要区别.docx VIP
- 麦克维尔多联机安装说明书.pdf VIP
- Unit 2 Section B(1a-Project)课件人教版2024新教材七年级上册英语.pptx VIP
- 南京大学《算法设计与分析》ppt课件 L12 - DAG.pdf VIP
- 南京大学《算法设计与分析》ppt课件 L11 - GraphTraversal.pdf VIP
- CH_T 7002-2018CN 无人船水下地形测量技术规程.docx
- 生产现场质量问题分析与解决培训.ppt VIP
- SMP-03-005-00 委托生产文件管理规程.pdf VIP
- 南京大学《算法设计与分析》ppt课件 L10 - Union-Find.pdf VIP
原创力文档


文档评论(0)