对二分搜索算法的理解

二分搜索算法是利用了元素间的次序关系,采用了分治策略,可以在最坏情况下用O(logn)时间来完成搜索任务。它的基本思想是把n个元素分成个数相同的两半,拿a[n/2]和所搜索的x作比较,如果x就等于a[n/2],就已经找到x,算法结束。而如果x<a[n/2]则只在a的左半部分继续搜索;x>a[n/2]的话就在a的右半部分搜索。按照二分搜索算法,它可以减少搜索的次数,不需要做一些无谓的搜索,导致耗费更多的时间。但是,既然二分搜索的需要把元素对半分,那就要求这个数组里的元素是有序的,而如果数组无序,则二分搜索算法是不适用的。

猜你喜欢

转载自www.cnblogs.com/LHHA/p/9778506.html
今日推荐