推广 热搜: 广场  Java  Word  app  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

c语言二分法查找法的完整代码 静态查找与动态查找定义?

   2023-04-28 企业服务招财猫10
核心提示:静态查找与动态查找定义?静态查找定义了:。静态搜索是我们通常概念中的搜索,它是一个"真实搜索"。静态搜索之所以是真正的搜索,是因为在静态搜索的过程中,只有"搜索和搜索被执行,即:(1)检查特定关键字是

静态查找与动态查找定义?

静态查找定义了:。

静态搜索是我们通常概念中的搜索,它是一个"真实搜索"。

静态搜索之所以是真正的搜索,是因为在静态搜索的过程中,只有"搜索和搜索被执行,即:

(1)检查特定关键字是否在表中(判断搜索);

(2)检索特定关键字数据元素的各种属性(检索搜索)。

这两个操作只获取现有表中的数据信息,而不对表的数据元素和结构进行任何更改,这称为静态查找。

常见的静态查找(表):顺序查找、二分法查找、索引顺序查找(块查找)、斐波那契查找等。

动态搜索定义:

动态查找更像是一个"创建、扩展、修改和删除"一张桌子。

在动态查找的过程中,表上还会有两个操作:

(1)首先,有一个"判断性搜索和搜索。如果表中不存在某个特定的关键字,它会按照一定的规则插入到表中;

(2)如果已经存在,可以删除。

虽然动态查找的过程只是添加"插入"和"删除"操作,在特定的表上执行这两个操作通常不是那么简单。

常见的动态搜索:各种树(二叉查找树,AVL,B/B树,红黑树等。)和哈希表。

关于数据结构二分法查找成功的平均查找长度和失败的查找长度?

做这类题目的时候要画二叉树。然后补叶子。叶子的高度是搜索失败的次数。然后总和除以叶子数就是失败的平均搜索长度。非叶节点是成功的,高度就是搜索成功的次数,然后除以非叶节点的次数就是成功的平均长度。对于11个节点,二叉树的搜索成功长度为(1x2x3x4x4)/1133/11,搜索失败长度为(4x83x4)/(84)44/12。

最早的二分查找代码什么时候出来的?

推荐答案的代码有问题,不考虑要搜索的数字下标为0怎么办?因此,如果序列表中没有要检查的元素,则应该返回-1。

另外,主函数的最后两行调用了两次查找函数,所以代码不够简洁。

建议阅读:

#inclusiveltstdio.HGT#inclusiveltstdlib.HGTintsearch(int*a,intkey){//在序列表中找到key对半的数据元素。如果找到,函数值是intlow0,mid//这个元素的数组下标;否则为0。inthigh14while(lowlthigh){mid(lowhigh)/2if(keya[mid])returnmid//找到要搜索的元素elseif(keylta[mid])highmid-1//继续搜索elselowmid1//后半部分继续搜索}return-1//序列表中没有要搜索的元素}Voidmain(){int*a,key,iintb[15]{0}abprintf(请输入15个从小到大的整数:

)for(i1ilt15i){scanf(%d

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8