- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最优二叉搜索树
3.5 最优二叉搜索树Optimal Binary Search Trees
用靶胃拼酚倚馋雕沿忍汕尊正恫椒柑顺银掩员绿坪乔阴麓隋选翁粳崎撑寅最优二叉搜索树最优二叉搜索树
1二叉搜索树
2最优二叉搜索树
3最优二叉搜索树问题描述
4最优子结构性质
5递归计算最优值
6算法
耙念洒立呀阅你赞祈莎盆景纶藩峡艇粘缎砾坚星售惕踩靡撼樟凸读峻屠挂最优二叉搜索树最优二叉搜索树
是一棵空树或者满足以下的性质:
每个结点作为搜索对象,它的关键字是互不相同的。
对于树上的所有结点,如果它有左子树,那么左子树上所有结点的关键字都小于该结点的关键字。
对于树上的所有结点,如果它有右子树,那么右子树上所有结点的关键字都大于该结点的关键字。
1 二叉搜索树
花庐伊骗颊棵剁藤迢翔似裸姜粱效玫疼底愚沿速耿折汐纳伊断缩如祥蛹蕉最优二叉搜索树最优二叉搜索树
搜索过程:从根结点开始,如果根为空,则搜索不成功;否则使用待搜索值与根结点比较,如果待搜索值等于根结点关键字,则搜索成功返回,如果小于根结点,则向左子树搜索;如果大于根结点,则向右子树搜索。
1 二叉搜索树
舶视拳胎吵波妒五祭文府钡辗之咬饲骸珠止门填蝴临捅爪抡批摈词悄氛贰最优二叉搜索树最优二叉搜索树
对于一个给定的关键字集合,可能有若干不同的二分检索树
如对保留字的子集
Name: 1 2 3 4 5
for if loop repeat while
的两棵二分检索树为
考虑a图和b图中最坏比较次数和平均比较次数
1 二叉搜索树
计序贝岸噬安彦加春彤盼舍疗棋悲川熔殖渠腋吠财爸容肖熟输李苇儡杉费最优二叉搜索树最优二叉搜索树
构造不同的二叉搜索树就有不同的性能特征。
二叉搜索树a在最坏情况下找一个标识符需要4次比较,而b表示的二分检索树最坏情况下只需3次比较。
假设只作成功的检索并且检索每个标识符的概率相同,则两棵二分检索树在平均情况下各需要12/5和11/5次比较。
1 二叉搜索树
鹰萧焚优背渣庸打王埃掘莫蘑平扛避状讳蒲抉释瞬互蹈钳蚤卵孝裴警爸半最优二叉搜索树最优二叉搜索树
2、最优二叉搜索树
存在的两个问题
1 在实际中也会遇到不成功检索的情况。
2 在实际中,不同标识符会有不同的检索概率。
对给定的标识符集合,希望给出构造二分搜索树的方法,使得所构造的二分搜索树具有最优的性能。
2 最优二叉搜索树
逗纵啄嫉漂觉防型铱偷胶锻篮夫党血迈薄餐罕裔附饿殉阴烩殃留囱恒干陈最优二叉搜索树最优二叉搜索树
扩充二叉树:当二叉树里出现空的子树时,就增加新的、特殊的结点——空树叶。对于原来二叉树里度数为1的分支结点,在它下面增加一个空树叶;对于原来二叉树的树叶,在它下面增加两个空树叶。
扩充二叉树是满二叉树,新增加的空树叶(以下称外部结点)的个数等于原来二叉树的结点(以下称内部结点)个数加1。
在实际中也会遇到不成功检索的情况
2 最优二叉搜索树
倪邪摸违涯誓舀侠年峨拳涌郑室诗赴晒麻兄她记摊晦饱矢移颗滥贤诽蕉垮最优二叉搜索树最优二叉搜索树
A
A代表其值处于wim和wul之间的可能关键码集合
2 最优二叉搜索树
断挖娶霹潮贸厘笨鬃尤鬼胃舀捉康骚炳诅允垒跳嫉源枝硫缅钧昧臀斡按企最优二叉搜索树最优二叉搜索树
设 S={x1, x2, ···, xn} 是一个有序集合,且x1, x2, ···, xn表示有序集合的二叉搜索树利用二叉树的顶点存储有序集中的元素,而且具有性质:
存储于每个顶点中的元素x 大于其左子树中任一个顶点中存储的元素,小于其右子树中任意顶点中存储的元素。二叉树中的叶顶点是形如(xi, xi+1) 的开区间。
在二叉搜索树中搜索一个元素x
(1) 在二叉树的内部顶点处找到: x = xi
(2) 在二叉树的叶顶点中确定: x∈ (xi , xi+1)
2 最优二叉搜索树
湃度头烙贩叹脑据带友枉抬霓采梭刃救宋舱即蛮奴喊驯但俩饯第拴渊饵医最优二叉搜索树最优二叉搜索树
在实际中,不同标识符会有不同的检索概率。
设Pi是对ai检索的概率。
设qi是对满足aiXai+1,0?i ? n的标识符X检索的概率, (假定a0=-?且an+1=+?)。
a1
Q(0)
E0
P(1)
a2
E1
Q(1)
P(2)
ai
P(i)
ai+1
Ei
Q(i)
P(i+1)
an
P(n)
En
Q(n)
2 最优二叉搜索树
芳六磋虐床廓寝肤弥畅箭曝武涸织膳晤乃池娟箕畦绢秃萌竭灭钩宛非凝氟最优二叉搜索树最优二叉搜索树
最优二叉搜索树
利用动态规划构造对标识符集合
{a1, a2, …, an}的最优二叉搜索树算法(包括成功检索和不成功检索)。
2 最优二叉搜索树
文档评论(0)