联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

数据结HASH GAME - Online Skill Game ET 300构于算法分析 第8章 Hash法

发布时间:2025-10-08 17:17:30  点击量:

  HASH GAME - Online Skill Game GET 300

数据结HASH GAME - Online Skill Game GET 300构于算法分析 第8章 Hash法

  由此可见,二叉排序树的平均查找长度ASL与二叉排 序树的形态有关。在最坏的情况下,二叉排序树是通 过把一个有序表的n个结点一次插入生成的,由此得到 的二叉排序树脱化为一棵深度为n的单支树,它的平均 查找长度和单链表上的顺序查找相同,也是(n1)/2。 在最好的情况下,二叉排序树在生成过程中,树的形 态比较均匀,最终得到的是一棵形态与折半查找的判 定树相似的二叉排序树,其平均查找长度大约是log2n。 若考虑把n个结点按各种可能的次序插入到二叉排序树 中,则有n!棵二叉排序树(其中有的形态相同),可 以证明,对这些二叉排序树的查找长度求平均,其平 均查找长度仍然是O(log2n)。

  由于判定树的叶子结点所在层次之差最多为1,故n个 结点的判定树的深度与n个结点的完全二叉树的深度相 等,均为 1。这样,折半查找成功时,关键字 比较次数最多不超过 1。相应地,折半查找失 败时的过程对应判定树中从根结点到某个含空指针的 结点的路径,因此,折半查找成功时,关键字比较次 数最多也不超过判定树的深度 1。为便于讨论, 假定表的长度n=2h-1,则相应判定树必为深度是h的满 二叉树,h=log2(n1)。又假设每个记录的查找概率相 等, 则折半查找成功时的平均查找长度为:

  分块查找的平均查找长度由两部分构成, 即查找 索引表时的平均查找长度为LB,以及在相应块内 进行顺序查找的平均查找长度为LW: ASLbs=LBLW 假定将长度为n的表分成b块,且每块含s个元素, 则b=n/s。又假定表中每个元素的查找概率相等, 则每个索引项的查找概率为1/b,块中每个元素的 查找概率为1/s。若用顺序查找法确定待查元素所 在的块,则有 s 1 b b 1 s 1 LB   j  , LW  i  b j 1 2 2 i 1

  【算法分析】用平均查找长度(ASL)分析折半查 找算法的性能。折半查找过程可用一个称为判定 树的二叉树描述,判定树中每一结点对应表中一 个记录,但结点值不是记录的关键字,而是记录 在表中的位置序号。根结点对应当前区间的中间 记录, 左子树对应前一子表,右子树对应后一子 表。 显然,找到有序表中任一记录的过程,对应判定 树中从根结点到与该记录相应结点的路径,而所 做比较的次数恰为该结点在判定树上的层次数。 因此,折半查找成功时,关键字比较次数最多不 超过判定树的深度。

  显然,在二叉排序树上进行查找,若查找成功, 则是从根结点出发走了一条从根到待查结点的路 径。若不成功,则是从根结点出发走了一条从根 到某个叶子结点的路径。因此,二叉排序树的查 找与折半查找过程类似,在二叉排序树中查找一 个记录时,其比较次数不超过树的深度。 对长度为n的有序表而言,折半查找对应的判定 树是唯一的,而含有n个结点的二叉排序树却是 不唯一的。因为对于同一个关键字集合,关键字 插入的先后次序不同,所构成的二叉排序树的形 态和深度也可能不同。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: