- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * /2010-06-04 第26次,12周-02次 * 2010-06-07 第27次,13周-01次 * /2010-06-07 第27次,13周-01次 * 2010-06-08 第28次,13周-02次 * * * * * * * * * * * * * * 二次探查法 二次探查法使用下列探查序列:h(key), h1 (key), ? , h2i-1 (key), h2i (key), ? h2i-1 ( key ) = ( h ( key ) + i2 ) mod M h2i ( key ) = ( h ( key ) ? i2 ) mod M 双重散列法 从h(K)开始,寻找空地址时,所前进的步长不是固定的,而与K有关,即用△=δ(K)( δ(K)是另一个杂凑函数),l≤△<M(△是K的函数),代替线性探查的前进步长1. * 2010-05-28 第24次,11周-03次 续 * * * * * /2010-05-28 第24次,11周-03次 * 2010-05-31 第25次,12周-01次 * * * * * * * * * * * /2010-05-31 第25次,12周-01次 * * 2010-06-04 第26次,12周-02次 * * * * * * * * * * 平均探测次数为284/144?1. 97 平均探测次数为598/246 ? 2. 43) 单调规则建造查找成功的静态树是最优树. 然而就一般情况而言,以至所有αi =0的情况,平均来看用单调规则所建造的树并不优于随机产生的树 ?平衡规则: 根结点的选择应尽可能使其左、右子树形中的频率之和趋于相等。 树插入算法如果输入数据是随机的,则该算法通常将产生好的查找树,但仍存在出现蜕化树的可能性 平衡树(AVL树)(高度平衡二叉查找树,简称为高度平衡树) 除非N 相当大,否则平衡树将很难表现出优点。 定义8.2 称一棵增长二叉树为高度平衡树,当且仅当或由单一外结点组成,或由两个子树形Tl 和Tr 组成,并且满足: (1)| h (Tl ) ? h (Tr ) | ≤ 1,其中h ( T )表示树T的高度; (2)Tl 和Tr 都是高度平衡树. 定义8.3 设T为增长二叉树,q是T之内结点,qL 和qR 是q的左、右子树,hL和hR 分别是qL和qR 的高度,q的平衡系数(或曰平衡因子)BF(q)定义为hR ? hL . 由引理8.4知,Fibonacci判定树形是一棵高度平衡树,且每个结点(以该结点为根的二叉树的内结点数 ? 2)的平衡系数为 ?1 平衡树的查找路径长度决不会超过最优树的查找路径长度的45% 插入操作 平衡性将遭到破坏: 平衡系数为+1的结点,如果在它的右子树的外结点上插入新结点,使它的右子树变得更高 平衡系数为 ?1的结点,如果在它的左子树的叶结点上插入新结点,使它的左子树变得更高 线性表的平衡树表示 在每一个结点P增加一个被称之为RANK的字段 RANK (P) ? P的左子树形的(内)结点数 ? 1 RANK域之值确定了结点的相对位置 若k ? 6,则所查找的结点为NODE (F); 若k 6,则向左查找;若k 6,则往右去检索 线性表的平衡树表示 在每一个结点P增加一个被称之为RANK的字段 RANK (P) ? P的左子树形的(内)结点数 ? 1 RANK域之值确定了结点的相对位置 若k ? 6,则所查找的结点为NODE (F); 若k 6,则向左查找;若k 6,则往右去检索 如k ? 8,则NODE (H) 便是所求,因RANK (H) ? k ? 6 ? 2 . 如,NODE (E) 在中根次序下的位置是5,它等于RANK (D) ? 1; NODE (K) 的位置(中序)是11,它等于RANK (F) ? RANK (K) ? 6 ? 5 删除操作 如果采用正确的方法,则删除问题可以在O (log N)步骤内解决 删去和插入之间的重要差别是:删去可能需要多达平均 logN 次转动,而插入所需的转动决不多于1次(例如,删去斐波那契树最右边的结点) 有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉查找树,若希望高度最小,则应选择下面哪个序列输入_____。 [A] 45,24,53,12,37,96,30 [B] 37,24,12,30,53,45,96 [C] 12,24,30,37,45,53,96 [D] 30,24,12,37,45,96,53 设有序顺序表为 { 10, 20, 30, 40, 50, 60, 70, 80},采用折半查找时,查找
文档评论(0)