3.11最优二叉搜索树资料.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
◎Software College, NEU 1二叉搜索树 2最优二叉搜索树 3最优二叉搜索树问题描述 4最优子结构性质 5递归计算最优值(具体算例) 6算法 是一棵空树或者满足以下的性质: 每个结点作为搜索对象,它的关键字是互不相同的。 对于树上的所有结点,如果它有左子树,那么左子树上所有结点的关键字都小于该结点的关键字。 对于树上的所有结点,如果它有右子树,那么右子树上所有结点的关键字都大于该结点的关键字。 搜索过程:从根结点开始,如果根为空,则搜索不成功;否则使用待搜索值与根结点比较,如果待搜索值等于根结点关键字,则搜索成功返回,如果小于根结点,则向左子树搜索;如果大于根结点,则向右子树搜索。 对于一个给定的关键字集合,可能有若干不同的二分检索树 如对保留字的子集 Name: 1 2 3 4 5 for if loop repeat while 的两棵二分检索树为 在实际中会遇到检索不成功的情况。 扩充二叉树:当二叉树里出现空的子树时,就增加新的、特殊的结点——空树叶。对于原来二叉树里度数为1的分支结点,在它下面增加一个空树叶;对于原来二叉树的树叶,在它下面增加两个空树叶。 扩充二叉树是满二叉树,新增加的空树叶(以下称外部结点)的个数等于原来二叉树的结点(以下称内部结点)个数加1。 在实际中,不同标识符会有不同的检索概率。 设bi是对xi检索的概率。 设ai是对满足xixxi+1,0?i ? n的标识符x检索的概率, (假定x0=-?且xn+1=+?)。 找到元素x = xi的概率为bi;确定x∈ (xi , xi+1)的概率为ai。其中约定x0= -∞ , xn+1= + ∞ ,有 在一个表示S的二叉树T中,设存储元素xi的结点深度为ci;叶结点(xj,xj+1)的结点深度为dj 。 在检索过程中,每进行一次比较,就进入下面一层, 对于成功的检索,比较的次数就是所在的层数加1。 对于不成功的检索,被检索的关键码属于那个外部结点代表的可能关键码集合,比较次数就等于此外部结点的层数。 对于有序集S及其存取概率分布 (a0, b1, a1, ···, bn, an),在所有表示有序集S的二叉搜索树中找出一棵具有最小平均路长的二叉搜索树。 结点在二叉搜索树中的层次越深,需要比较的次数就越多,因此要构造一棵最小二叉树,一般尽量把搜索概率较高的结点放在较高的层次。 例 标识符集{1, 2, 3}={do, if, stop}可能的二分检索树为: 例: b1=0.5, b2=0.1, b3=0.05, a0=0.15, a1=0.1, a2=0.05, a3=0.05 分析 对于图的内结点而言,第0层需要比较操作次数为1,第1层需要比较2次,第2层需要3次 Pb(n)=1 × b1 + 2 × b3+3 × b2 + 1×a0 + 2×a3 + 3×( a1 + a2) =1 × 0.5+ 2 × 0.05 + 3 ×0.1 + 1×0.15 +2×0.05+ 3×( 0.1+ 0.05 ) =1.6 Pc(n)=1 × b2 + 2 × (b1 + b3) + 2×(a0 +a1 +a2 + a3 ) =1 × 0.1+ 2 × (0.5 + 0.05) + 2×(0.15 + 0.1 + 0.05 + 0.05) =1.9 Pd(n)=1 × b3 + 2 × b1+3 × b2 + 1 × a3+2 × a0 +3 × (a1+ a2) =1 × 0.05 + 2 × 0.5 + 3 × 0.1 + 1×0.05 + 2 × 0.15 + 3 × (0.1 + 0.05) =2.15 Pe(n)=1 × b3 + 2 × b1+3 × b2 + 1 × a3+2 × a0 +3 × (a1 + a2) =1 × 0.05 + 2 × 0.5 + 3 × 0.1 + 1×0.05 + 2 × 0.15 + 3 × (0.1 + 0.05) =2.15 4、最优子结构性质 假设选择 k为树根,则 1, 2, …, k-1 和a0, a1, …, ak-1 都将位于左子树 L 上,其余结点 (k+1, …, n 和 ak, ak+1, …, an)位于右子树 R 上。 最优子结构性质证明 二叉搜索树T 的一棵含有顶点xi , ··· , xj和叶顶点 (xi-1 , xi ) , ··· , ( xj , xj+1)的子树可以看作是有序集{ xi , ··· , xj

文档评论(0)

糖糖 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档