二分查找是干什么的,c/c++中的二分法适用于什么情况?

Hi,对于程序中的二分法是一种查找算法,也叫二分查找法,其主要用途是在一堆数据中找到指定的数据二分查找是干什么的。二分查找法的优势在于,当要查询的对象整体数据规模很大时,其表现出相当高的查找效率,当数据对象较小时并不能体现出与其他查找算法的优势,数据对象要满足有序排列的前提条件。

二分查找是干什么的,c/c++中的二分法适用于什么情况?

二分查找是干什么的,c/c++中的二分法适用于什么情况?

举个简单例子,数学中的二分法求近似值,就是这个道理,通过不断将对象对半划分,将无用的一般丢弃,一步步缩小搜索范围,直到逼近所期望的值。

至于其适用于什么情况,你应该将你所遇到的问题抽象出来,并从二分法定义的角度出发,分析其使用解决并符合你的问题。比如你应该先确定你的数据样本是否足够大,以至于使用其他查找算法影响到了整个系统的正常工作,比如嵌入式设备的实时性要求;再者你的数据样本是否是由大到小的或由小到大的排列,如果不能满足有序要求,你还应该考虑如何将大量数据重新排序,但这样可能带来新的问题,另外付出的精力也是不小的。

2022-06-09

2022-06-09