
折半查找法的概念是什么???
网上看到折半查找法的定义是:对一个已经排好序的数组,先看中间的元素是不是要求的元素。如果是就找到了,不是的话看比要找的元素大还是小,大的话,上前一部分用同样的方法再找,小...
网上看到折半查找法的定义是: 对一个已经排好序的数组,先看中间的元素是不是要求的元素。如果是就找到了,不是的话看比要找的元素大还是小,大的话,上前一部分用同样的方法再找,小的话去后一部分用同样的方法再找。
关键是最后一句话,用同样的方法再找。这是什么意思。
比如说我要找8这个数,本身20个数,第一次最中间的10不是我要找的,那么之后我该去找1--10之间的5么?5也不是的话再去找6--10之间的7?
还是直接在1--10之间找? 展开
关键是最后一句话,用同样的方法再找。这是什么意思。
比如说我要找8这个数,本身20个数,第一次最中间的10不是我要找的,那么之后我该去找1--10之间的5么?5也不是的话再去找6--10之间的7?
还是直接在1--10之间找? 展开
展开全部
这个问题并不是C语言,是数据结构方面的问题
首先,你要查找的表是有规定的有序表
表中数据元素按关键码升序或降序排列的表称为有序表。
折半查找的思路是,在有序表中取中间元素作为比较对象,若给定值与中间元素的关键码相等,则查找成功;若给定值小于中间元素的关键码,则在中间元素的左半区继续查找;同理,如果找不到在右半部查找。不断重复上述的查找过程,直到查找成功,或所查找的区域无数据元素,查找失败。
如果还是不懂的话,可以查找一下有关数据结构方面的书,会更加详细的解说。
首先,你要查找的表是有规定的有序表
表中数据元素按关键码升序或降序排列的表称为有序表。
折半查找的思路是,在有序表中取中间元素作为比较对象,若给定值与中间元素的关键码相等,则查找成功;若给定值小于中间元素的关键码,则在中间元素的左半区继续查找;同理,如果找不到在右半部查找。不断重复上述的查找过程,直到查找成功,或所查找的区域无数据元素,查找失败。
如果还是不懂的话,可以查找一下有关数据结构方面的书,会更加详细的解说。

2025-07-02 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
用同样的方法再找是当你第一次找的时候只是确定了区间,也就是他到底在上半部分还是下半部分,而你要找的数据黑不一定找到,这就需要再次利用折半查找的原理再次查找,直到查到为止!你的例子就是第一次确定中点是10,那么第二次再找确定中点则是在1--10之间的中点5,若还未找到,则第三次查找就是在5--10之间7,一次类推直到找到8为止。明白没?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
折半查找法
是针对有序的序列进行的。
例如:
有一个从小到大的序列
1
2
3
4
5
6
7
8
9
要查找3.
首先和
中间的
5进行比较,发现
3<5
,则若存在,肯定存在于
5的左侧半个序列中。
也就是存在
1
2
3
4
中。
然后
和中间的
2比,发现2比3小,所以,要存在,就在2的右侧的
3
4中
然后再依次比较,直到找到。
或比较后没有找到。
是针对有序的序列进行的。
例如:
有一个从小到大的序列
1
2
3
4
5
6
7
8
9
要查找3.
首先和
中间的
5进行比较,发现
3<5
,则若存在,肯定存在于
5的左侧半个序列中。
也就是存在
1
2
3
4
中。
然后
和中间的
2比,发现2比3小,所以,要存在,就在2的右侧的
3
4中
然后再依次比较,直到找到。
或比较后没有找到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对一个已经排好序的数组,先看中间的元素是不是要求元素。如果是就找到了,不是看比要找的元素大还是小,大的话,上前一部分用同样的方法再找,小的话去后一部分用同样的方法再找
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先看中间的元素是不是要求的元素。如果是就找到了,不是的话再一次与要找的元素比较大小。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询