数据结构 树与二叉树精.ppt
《数据结构 树与二叉树精.ppt》由会员分享,可在线阅读,更多相关《数据结构 树与二叉树精.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构 树与二叉树第1页,本讲稿共24页7.7二叉排序树(1)若它的左子树不空,则左子树上所有结点的值均小于根结点的值;1定义:定义:二叉排序树二叉排序树(二叉搜索树二叉搜索树或或二叉查找树二叉查找树)或者是一棵空树;或者是具有如下特性的二叉树或者是一棵空树;或者是具有如下特性的二叉树(3)它的左、右子树也都分别是二叉排序树。(2)若它的右子树不空,则右子树上所有结点 的值均大于等于根结点的值;第2页,本讲稿共24页7.7二叉排序树503080209010854035252388例如例如:是二叉排序树。是二叉排序树。66不不对对二叉排序树进行中序遍历,得到一个有序序列二叉排序树进行中序遍历,
2、得到一个有序序列第3页,本讲稿共24页7.7二叉排序树452412145390中序遍历中序遍历:12,14,24,45,53,90二叉排序树的构造二叉排序树的构造特点:树结构在查找的过程中动态生成。特点:树结构在查找的过程中动态生成。每次插入的结点只能成为新的每次插入的结点只能成为新的叶子结点叶子结点例:关键字序列为 45,24,53,12,14,90 第4页,本讲稿共24页7.7二叉排序树二叉排序树构造二叉排序树构造递归算法与非递归算法递归算法与非递归算法p142第5页,本讲稿共24页7.7二叉排序树二叉排序删除节点二叉排序删除节点(1)若被删除节点为叶结点,则可以直接删除(2)若被删除结点
3、没有左子树,则可以用其右子树的跟结点取代被删除结点的位置(3)若被删除结点没有右子树,则可以用其左子树的跟结点取代被删除结点的位置(4)若被删除结点的左、右子树均存在,则要找到右子树中值最小的结点(r),用该节点取代被删除节点的位置。由于由r指出的节点的位置一定没有左子树,所以用其右孩子来取代r所指节点的位置。第6页,本讲稿共24页7.7二叉排序树二叉排序删除节点二叉排序删除节点(1)若被删除节点为叶结点,则可以直接删除(2)若被删除结点没有左子树,则可以用其右子树的跟结点取代被删除结点的位置(3)若被删除结点没有右子树,则可以用其左子树的跟结点取代被删除结点的位置(4)若被删除结点的左、右子
4、树均存在,则要找到右子树中值最小的结点(r),用该节点取代被删除节点的位置。由于由r指出的节点的位置一定没有左子树,所以用其右孩子来取代r所指节点的位置。第7页,本讲稿共24页7.7二叉排序树1)若给定值)若给定值等于等于根结点的关键字,则查找成功;根结点的关键字,则查找成功;2)若给定值)若给定值小于小于根结点的关键字,则继续在左子树上进行查根结点的关键字,则继续在左子树上进行查找;找;3)若给定值)若给定值大于大于根结点的关键字,则继续在右子树上进行查找。根结点的关键字,则继续在右子树上进行查找。否则否则二叉排序树的查找二叉排序树的查找查找算法查找算法若二叉排序树若二叉排序树为空为空,则查
5、找不成功;,则查找不成功;第8页,本讲稿共24页7.7二叉排序树平均查找长度平均查找长度:确定一个元素在树中的位置所需进行的比较次数:确定一个元素在树中的位置所需进行的比较次数节点内路径长度节点内路径长度(IPL):从二叉树根节点到某节点所经过):从二叉树根节点到某节点所经过的分枝数,定义为该节点的内经长度的分枝数,定义为该节点的内经长度二叉树内路径长度二叉树内路径长度:外路径长度(外路径长度(XPL):):外边结点外边结点内部结点内部结点EPL:二叉树中所有外边结点的路径之和二叉树中所有外边结点的路径之和二叉排序树的查找二叉排序树的查找查找长度查找长度第9页,本讲稿共24页7.7二叉排序树查
6、找成功的平均查找长度查找成功的平均查找长度ASL=(IPL+n)/n查找失败的平均查找长度查找失败的平均查找长度ASL=EPL/n=(IPL+2n)/n平均查找长度平均查找长度ASL=(IPL+n+EPL)/(n+n+1)=(2IPL+3n)/2n+1二叉排序树的查找二叉排序树的查找查找长度查找长度第10页,本讲稿共24页7.9 哈夫曼树及其应用问题的提出:问题的提出:例:编制一个将百分制转换为五级分制的程序。例:编制一个将百分制转换为五级分制的程序。例:编制一个将百分制转换为五级分制的程序。例:编制一个将百分制转换为五级分制的程序。如:如:如:如:if(a60)b=”bad”;if(a60)
7、b=”bad”;else if(a70)b=”pass”else if(a70)b=”pass”else if(a80)b=”general”else if(a80)b=”general”else if(a90)b=”good”else if(a90)b=”good”else b=”excellent”;else b=”excellent”;第11页,本讲稿共24页7.9 哈夫曼树及其应用显显显显然然然然,此此此此程程程程序序序序很很很很简简简简单单单单,只只只只要要要要利利利利用用用用条条条条件件件件语语语语句句句句便便便便可可可可完完完完成成成成。如如如如果果果果上上上上述述述述程程程程序
8、序序序需需需需反反反反复复复复使使使使用用用用,而而而而且且且且每每每每次次次次的的的的输输输输入入入入量量量量很很很很大大大大,则则则则应应应应考考考考虑虑虑虑上上上上述述述述程程程程序序序序的的的的质质质质量量量量问问问问题题题题,即即即即其其其其操操操操作作作作所所所所需需需需要要要要的的的的时时时时间间间间。因因因因为为为为在在在在实实实实际际际际中中中中,学学学学生生生生的的的的成成成成绩绩绩绩在在在在五五五五个个个个等等等等级上的分布是不均匀的,假设其分布规律如下表所示:级上的分布是不均匀的,假设其分布规律如下表所示:级上的分布是不均匀的,假设其分布规律如下表所示:级上的分布是不均
9、匀的,假设其分布规律如下表所示:分数分数分数分数 0 059 6059 6069 7069 7079 8079 8089 9089 90100100比例数比例数比例数比例数 0.05 0.15 0.40 0.30 0.100.05 0.15 0.40 0.30 0.10则则则则80%80%以上的数据需进行三次或三次以上的比较才能得出结果。以上的数据需进行三次或三次以上的比较才能得出结果。以上的数据需进行三次或三次以上的比较才能得出结果。以上的数据需进行三次或三次以上的比较才能得出结果。第12页,本讲稿共24页7.9 哈夫曼树及其应用叶子结点的权值叶子结点的权值:对叶子结点赋予的一:对叶子结点赋
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 树与二叉树精 二叉
限制150内