- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构算法之树应用[8)
树的应用;二叉树遍历的应用; 设有100个学生某门课程的考试成绩的分布如下表所示: ;分数;分数;思考:如何找到一棵最优的判断树使得编写出来的程序的运行时间是最高效的?;1.哈夫曼树的有关概念 ;1.哈夫曼树的有关概念 ;⑤哈夫曼树的定义:;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;2.哈夫曼树的求解过程 ;3.哈夫曼编码 ;3.哈夫曼编码 ;3.哈夫曼编码 ;3.哈夫曼编码 ;3.哈夫曼编码 ;三、实例;四、小结:;;作业:;线索二叉树;结构;注意:;二叉搜索树 ;中序遍历二叉搜索树可以得到解决一个按关键字有序的序列。
构造二叉搜索树的目的不是为了排序,而是用来加速查找。;二叉搜索树的建立:
由空集为初始状态,将结点按关键字依次插入到二叉树中去。先???第一个结点作为二叉树的根结点,插入其它结点时,若结点的值小于根结点的值,则插入左子树,否则插入右子树,该过程依次进行,直到整个过程结束。
动态生成二叉排树时,树的形状、高度不仅依赖于记录关键字的大小,还与记录输入的先后顺序有关
;{70,35,85,20,70,90};;查找结点
根据前面的定义可知,二叉搜索树的查找是一个递归的过程,具体如下:
① 若二叉排序树为空,则查找失败,输出相关信息。
② 若二叉查找树不为空,将给定值x与查找树的根结点关键字进行比较。
③ 若比较结果为相等,则查找成功,整个查找结束。
;否则,完成下面的判断:
(i) 若给定的值x小于根结点关键字的值,查找将按照递归的方式在左子树上进行。
(ii)若给定的值x大于根结点关键字的值,查找将按照递归的方式在右子树上进行。
(iii)重复以上过程,直到查找结束(成功或者失败)。
;;算法分析:
对于深度为d的二叉搜索树,若设第i层有ni个结点,则在等查找概率情况下,其平均查找长度为:
文档评论(0)