数据结构论坛

首页 » 分类 » 问答 » 每日一题数据结构day44
TUhjnbcbe - 2020/12/19 3:03:00
北京中科助力白癜风康复 https://m-mip.39.net/baidianfeng/mipso_4247158.html
B折半查找法:搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。我们根据题目要求,假设长度为L的顺序表的下标为1~16,我们利用该数组下标来构建折半查找树,如图所示。从图可以看出,比较次数最多的是,位于数组下标16(下标从1开始)位置的关键字,该位置的关键字需要比较5次。关键字查找失败最凄惨的情况下,需要从根节点比较到最深层的叶子结点,比较次数等于树的高度。当然,这是比较愚蠢的办法,我们也可以利用公式来计算。具有n个关键字(结点)的折半查找(判定)树的高度为,显然,表长为16时,树的高度为5,所以查找失败时最多需要比较5次。

QQ群号

21码哥暨南大学计算机/网安考研群:码哥深圳大学计算机/软件考研群:码哥广工计算机/软件考研群:码哥中山大学计算机/软件考研:码哥华南理工计算机/软件/网安考研:码哥广州大学计算机/网安考研:码哥华南师范大学计算机/软件考研:码哥浙江大学计算机/软件考研:码哥重邮计算机/软件考研:码哥北京航空航天大学计算机/软件/网安考研:码哥南京邮电大学计算机考研:码哥南京航空航天大学计算机考研:码哥计算机与软件考研
1
查看完整版本: 每日一题数据结构day44