版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于最优二叉搜索树1第1页,课件共52页,创作于2023年2月23.5最优二叉搜索树
OptimalBinarySearchTrees第2页,课件共52页,创作于2023年2月31二叉搜索树2最优二叉搜索树3最优二叉搜索树问题描述4最优子结构性质5递归计算最优值6算法第3页,课件共52页,创作于2023年2月4是一棵空树或者满足以下的性质:每个结点作为搜索对象,它的关键字是互不相同的。对于树上的所有结点,如果它有左子树,那么左子树上所有结点的关键字都小于该结点的关键字。对于树上的所有结点,如果它有右子树,那么右子树上所有结点的关键字都大于该结点的关键字。1二叉搜索树第4页,课件共52页,创作于2023年2月5xalwanwilwenwimwulzolyozomxulyumxemyonzi搜索过程:从根结点开始,如果根为空,则搜索不成功;否则使用待搜索值与根结点比较,如果待搜索值等于根结点关键字,则搜索成功返回,如果小于根结点,则向左子树搜索;如果大于根结点,则向右子树搜索。1二叉搜索树第5页,课件共52页,创作于2023年2月6对于一个给定的关键字集合,可能有若干不同的二分检索树如对保留字的子集
Name:12345foriflooprepeatwhile的两棵二分检索树为ifforwhilelooprepeatifwhilelooprepeatforab考虑a图和b图中最坏比较次数和平均比较次数1二叉搜索树第6页,课件共52页,创作于2023年2月7
构造不同的二叉搜索树就有不同的性能特征。二叉搜索树a在最坏情况下找一个标识符需要4次比较,而b表示的二分检索树最坏情况下只需3次比较。假设只作成功的检索并且检索每个标识符的概率相同,则两棵二分检索树在平均情况下各需要12/5和11/5次比较。ifforwhilelooprepeatifwhilelooprepeatforab1二叉搜索树第7页,课件共52页,创作于2023年2月82、最优二叉搜索树存在的两个问题1在实际中也会遇到不成功检索的情况。2在实际中,不同标识符会有不同的检索概率。对给定的标识符集合,希望给出构造二分搜索树的方法,使得所构造的二分搜索树具有最优的性能。2最优二叉搜索树第8页,课件共52页,创作于2023年2月9扩充二叉树:当二叉树里出现空的子树时,就增加新的、特殊的结点——空树叶。对于原来二叉树里度数为1的分支结点,在它下面增加一个空树叶;对于原来二叉树的树叶,在它下面增加两个空树叶。扩充二叉树是满二叉树,新增加的空树叶(以下称外部结点)的个数等于原来二叉树的结点(以下称内部结点)个数加1。在实际中也会遇到不成功检索的情况2最优二叉搜索树第9页,课件共52页,创作于2023年2月10xalwanwilwenwimwulzolyozomxulyumxemyonziAA代表其值处于wim和wul之间的可能关键码集合2最优二叉搜索树第10页,课件共52页,创作于2023年2月11设S={x1,x2,···,xn}是一个有序集合,且x1,x2,···,xn表示有序集合的二叉搜索树利用二叉树的顶点存储有序集中的元素,而且具有性质:存储于每个顶点中的元素x
大于其左子树中任一个顶点中存储的元素,小于其右子树中任意顶点中存储的元素。二叉树中的叶顶点是形如(xi,xi+1)
的开区间。在二叉搜索树中搜索一个元素x(1)在二叉树的内部顶点处找到:x=xi(2)在二叉树的叶顶点中确定:x∈(xi,xi+1)2最优二叉搜索树第11页,课件共52页,创作于2023年2月12在实际中,不同标识符会有不同的检索概率。
设Pi是对ai检索的概率。设qi是对满足ai<X<ai+1,0in的标识符X检索的概率,(假定a0=-且an+1=+)。a1Q(0)E0P(1)a2E1Q(1)P(2)aiP(i)ai+1EiQ(i)P(i+1)anP(n)EnQ(n)2最优二叉搜索树第12页,课件共52页,创作于2023年2月13最优二叉搜索树利用动态规划构造对标识符集合{a1,a2,…,an}的最优二叉搜索树算法(包括成功检索和不成功检索)。2最优二叉搜索树第13页,课件共52页,创作于2023年2月14例标识符集{1,2,3}={do,if,stop}可能的二分检索树为:(a)321
231
(c)312(d)
(b)312
321
(e)设每个内、外结点检索的概率相同:pi=qi=1/7,求每棵树的平均比较次数(成本)。若P1=0.5,P2=0.1,P3=0.05,q0=0.15,q1=0.1,q2=0.05,q3=0.05,求每棵树的平均比较次数(成本)。第14页,课件共52页,创作于2023年2月15在检索过程中,每进行一次比较,就进入下面一层,对于成功的检索,比较的次数就是所在的层数加1。对于不成功的检索,被检索的关键码属于那个外部结点代表的可能关键码集合,比较次数就等于此外部结点的层数。2最优二叉搜索树第15页,课件共52页,创作于2023年2月16例:P1=0.5,P2=0.1,P3=0.05,q0=0.15,q1=0.1,q2=0.05,q3=0.05123q0q1q2q3123q0q1q2q3q0123q1q2q3123q0q1q2q3123q0q1q2q3考虑平均搜索次数,也叫做平均路长Pa(n)=1×p1+2×p2+3×p3+1×q0+2×q1+3×(q2+q3)=1×0.5+2×0.1+3×0.05+1×0.05+2×0.1+3×(0.05+0.05)=1.52最优二叉搜索树abcde第16页,课件共52页,创作于2023年2月17分析对于图的内结点而言,第0层需要比较操作次数为1,第1层需要比较2次,第2层需要3次Pb(n)=1×p1+2×p3+3×p2+1×q0+3×(q2+q3)=1×0.5+2×0.05+3×0.1
+1×0.15
+2×0.05+3×(0.05
+0.05
)=1.6Pc(n)=1×p2+2×(p1+
p3)
+2×(q0+q1+q2+q3)=1×0.1+2×(0.5+0.05)+2×(0.15+0.1+0.05+0.05)=1.9Pd(n)=1×p3+2×p1+3×
p2+1×q3+2×q0+3×(q1+q2)=1×0.05+2×0.5+3×0.1+1×0.05+2×0.15+3×(0.1+0.05)=2.15Pe(n)=1×p3+2×p1+3×
p2+1×q3+2×q0+3×(q1+q2)=1×0.05+2×0.5+3×0.1+1×0.05+2×0.15+3×(0.1+0.05)=2.152最优二叉搜索树第17页,课件共52页,创作于2023年2月18找到元素x=xi的概率为bi;确定x∈(xi,xi+1)的概率为ai。其中约定x0=-∞,xn+1=+∞,有2最优二叉搜索树第18页,课件共52页,创作于2023年2月19在一个表示S的二叉树T中,设存储元素xi的结点深度为ci;叶结点(xj,xj+1)的结点深度为dj
。表示在二叉搜索树T中作一次搜索所需的平均比较次数。P又称为二叉搜索树T的平均路长,在一般情况下,不同的二叉搜索树的平均路长是不同的。2最优二叉搜索树第19页,课件共52页,创作于2023年2月203、最优二叉搜索树问题描述对于有序集S及其存取概率分布(a0,b1,a1,···,bn,an),在所有表示有序集S的二叉搜索树中找出一棵具有最小平均路长的二叉搜索树。结点在二叉搜索树中的层次越深,需要比较的次数就越多,因此要构造一棵最小二叉树,一般尽量把搜索概率较高的结点放在较高的层次。3最优二叉搜索树问题第20页,课件共52页,创作于2023年2月214、最优子结构性质假设选择k为树根,则1,2,…,k-1和a0,a1,…,ak-1
都将位于左子树L上,其余结点(k+1,…,n和ak,ak+1,…,an)位于右子树R上。k
L
R1,2,…,k-1
a0,a1,…,ak-1k+1,…,n
ak,ak+1,…,an4最优子结构性质第21页,课件共52页,创作于2023年2月22511472063353976425431399844最优子结构性质第22页,课件共52页,创作于2023年2月23511472063353976425431399844最优子结构性质第23页,课件共52页,创作于2023年2月24设COST(L)
和COST(R)
分别是二分检索树T的左子树和右子树的成本。则检索树T的成本是:
P(k)+COST(L)+COST(R)+……若T
是最优的,则上式及COST(L)和COST(R)必定都取最小值。4最优子结构性质第24页,课件共52页,创作于2023年2月25最优子结构性质证明二叉搜索树T的一棵含有顶点xi,···,xj和叶顶点
(xi-1,xi),···,(xj,xj+1)的子树可以看作是有序集{xi,···,xj}关于全集为{xi-1,xj+1
}的一棵二叉搜索树(T自身可以看作是有序集)。根据S
的存取分布概率,在子树的顶点处被搜索到的概率是:4最优子结构性质第25页,课件共52页,创作于2023年2月26左子树的搜索概率右子树的搜索概率设Tij是有序集{xi
,···,xj}关于存储概率分布为{ai-1,bi,
…,bj,aj}的一棵最优二叉搜索树,其平均路长为pij,Tij的根顶点存储的元素xm,其左子树Tl和右子树Tr的平均路长分别为pl和pr。由于Tl和Tr中顶点深度是它们在Tij中的深度减1,所以得到{xi
,···,xj}的存储概率分布为{ai-1,bi,
…,bj,aj},其中,ah,bk分别是下面的条件概率:4最优子结构性质第26页,课件共52页,创作于2023年2月27构造最优二叉搜索树时,可以选择先构造其左右子树,使其左右子树最优,然后构造整棵树。4最优子结构性质第27页,课件共52页,创作于2023年2月285、递归计算最优值最优二叉搜索树Tij的平均路长为pij,则所求的最优值为p1,n。由二叉树的花费公式根据最优二叉搜索树问题的最优子结构性质可建立计算pij的递归式如下初始时5递归计算最优值第28页,课件共52页,创作于2023年2月29记wi,jpi,j为m(i,j)
递归计算最优值5递归计算最优值第29页,课件共52页,创作于2023年2月30根据该公式,计算树T[i][j]的花费只用到了T[i][k-1],T[k+1][j],可得到具体求解过程如下:1)构造只有1个内部结点的最优二叉搜索树T[1][1],T[2][2]…,T[n][n],可以求得m[i][i]同时可以用一个数组存做根结点元素为:
s[1][1]=1,s[2][2]=2…s[n][n]=n2)构造具有2个内部结点的最优二叉搜索树第30页,课件共52页,创作于2023年2月31例给出标识符集{1,2,3}={do,if,stop}存取概率若P1=0.5,P2=0.1,P3=0.05,q0=0.15,q1=0.1,q2=0.05,q3=0.05构造一棵最优二叉搜索树5递归计算最优值第31页,课件共52页,创作于2023年2月32q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.051q0q1T[1][1]w[1][1]=0.75m[1][1]=0.752q1q2T[2][2]w[2][2]=0.25m[2][2]=0.253q2q3T[3][3]w[3][3]=0.15m[3][3]=0.1512q0q1q212q0q1q2T[1][2]w[1][2]=0.9m[1][2]=0.9+m[1][1]+m[3][2]=1.65w[1][2]=0.9m[1][2]=0.9+m[1][0]+m[2][2]=1.15q0T[1][0]w[1][0]=0.15m[1][0]=0q1T[2][1]w[2][1]=0.1m[2][1]=0q2T[3][2]w[3][2]=0.05m[3][2]=0q3T[4][3]w[4][3]=0.05m[4][3]=0第32页,课件共52页,创作于2023年2月33q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.051q0q1T[1][1]w[1][1]=0.75m[1][1]=0.752q1q2T[2][2]w[2][2]=0.25m[2][2]=0.253q2q3T[3][3]w[3][3]=0.15m[3][3]=0.1512q0q1q212q0q1q2T[1][2]w[1][2]=0.9m[1][2]=0.9+m[1][1]+m[3][2]=1.65w[1][2]=0.9m[1][2]=0.9+m[1][0]+m[2][2]=1.1523q1q2q323q1q2q3T[2][3]w[2][3]=0.5m[2][3]=0.5m[2][3]=0.6第33页,课件共52页,创作于2023年2月34q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.051q0q1T[1][1]w[1][1]=0.75m[1][1]=0.752q1q2T[2][2]w[2][2]=0.25m[2][2]=0.253q2q3T[3][3]w[3][3]=0.15m[3][3]=0.1512q0q1q212q0q1q2T[1][2]w[1][2]=0.9m[1][2]=0.9+m[1][1]+m[3][2]=1.65w[1][2]=0.9m[1][2]=0.9+m[1][0]+m[2][2]=1.1523q1q2q323q1q2q3T[2][3]w[2][3]=0.35m[2][3]=0.5m[2][3]=0.6第34页,课件共52页,创作于2023年2月35T[1][2]m[1][2]=1.1512q0q1q223q1q2q3T[2][3]m[2][3]=0.523q2q31q0q1T[1][3]W[1][3]=1m[1][3]=1.523q2q31q0q1m[1][3]=1.923q2q31q0q1m[1][3]=2.15q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.05第35页,课件共52页,创作于2023年2月36T[1][2]m[1][2]=1.1512q0q1q223q1q2q3T[2][3]m[2][3]=0.523q2q31q0q1T[1][3]W[1][3]=1m[1][3]=1.523q2q31q0q1m[1][3]=1.923q2q31q0q1m[1][3]=2.15q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.05第36页,课件共52页,创作于2023年2月3701231230000401231234W(i,j)0123123400000.150.10.050.050.750.7510.250.150.250.15230.91.1510.3510.521.51m(i,j)s(i,j)q0=0.15,P1=0.5,q1=0.1,P2=0.1,q2=0.05,P3=0.05,q3=0.05第37页,课件共52页,创作于2023年2月38具体求解过程递归出口,没有内部节点时,构造T[1][0]T[2][1],T[3][2]……,T[n+1][n]2)构造具有2个、3个、……、n个内部结点的最优二叉搜索树r
(起止下标的差)0T[1][1],T[2][2],…,T[n][n],1T[1][2],T[2][3],…,T[n-1][n],2T[1][3],T[2][4],…,T[n-2][n],rT[1][r+1],T[2][r+2],…,T[i][i+r],…,T[n-r][n]n-1T[1][n]5递归计算最优值第38页,课件共52页,创作于2023年2月39voidOBST(int*a,int*b,intn,int**m,int**s,int**w)
{for(inti=0;i<=n;i++){w[i+1][i]=a[i];m[i+1][i]=0;}//初始化,构造没有内部节点时的情况for(intr=0;r<n;r++)for(inti=1;i<=n-r;i++){intj=i+r;
构造T[i][j],填写w[i][j],m[i][j],s[i][j]}}第39页,课件共52页,创作于2023年2月40构造T[i][j]T[i][j]表示用第i到第j个内部节点构造的树,做根的结点可以是第i,i+1,…,j中任意一个。1)首选i作为根,其左子树空,右子树为结点i+1,i+2…j构成即T[i+1][j]。
m[i][j]=w[i][j]+0+m[i+1][j]s[i][j]=i2)不选i做根,设k为其根,则k=i+1,…,j,左子树为结点i,i+1,…,k-1,右子树为k+1,k+2,…,jt=w[i][j]+m[i][k-1]+m[k+1][j]if(t<m[i][j]){m[i][j]=t;s[i][j]=k;}3)k=k+1,跳回25递归计算最优值第40页,课件共52页,创作于2023年2月41voidOptimalBinarySearchTree(int*a,int*b,intn,int**m,int**s,int**w){for(inti=0;i<=n;i++){w[i+1][i]=a[i];m[i+1][i]=0;}for(intr=0;r<n;r++)for(inti=1;i<=n-r;i++){intj=j+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=m[i+1][j];s[i][j]=i;
for(intk=i+1;k<=j;k++){intt=m[i][k-1]+m[k+1][j];if(t<m[i][j]){m[i][j]=t;s[i][j]=k;}}m[i][j]+=w[i][j];}}初始化对角线赋值i为起始元素下标j为终止元素下标加第j个结点后,权值w改变如第i个结点作根的值取第k个结点作根5递归计算最优值第41页,课件共52页,创作于2023年2月426、构造最优解6构造最优解第42页,课件共52页,创作于2023年2月437、计算复杂性第43页,课件共52页,创作于2023年2月44练习设n=4,且
(1,2,3,4)=(do,if,read,w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年化学原料药行业市场现状供需分析及投资评估规划分析研究报告
- 2024-2030年切菜机和切丁机行业市场现状供需分析及投资评估规划分析研究报告
- 2024-2030年冷冻食品市场前景分析及投资策略与风险管理研究报告
- 2024-2030年全自动洗衣机行业市场深度分析及竞争格局与投资价值研究报告
- 2024-2030年全球及中国非医用红外测温仪行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2024-2030年全球及中国能源交易与风险管理行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2023-2024学年全国初中九年级上数学仁爱版期末试卷(含答案解析)
- 荒山土地承包合同范文
- 2025届新高三开学摸底考生物试卷(北京专用)(解析版)
- 2024年车装石油修井机项目评估分析报告
- (完整版)机房安全检查表
- 信息资源建设-习题集(含答案)
- 2024年4月自考00015英语(二)试题
- (正式版)JBT 14660-2024 额定电压6kV到30kV地下掘进设备用橡皮绝缘软电缆
- 2023年全国统一高考英语试卷(北京卷)(含答案)
- 小学生航模知识讲座
- 国家标准宣贯培训
- 择校升学规划方案
- 2023年度省综合专家库评标专家继续教育培训考试试题(三套)
- 筋伤的护理措施
- join-in小学英语3-6年级英语单词默写版
评论
0/150
提交评论