之前的章节介绍过,二分查找的时间复杂度是log(n)底数为2。
二分查找也叫折半查,能加快查找的速度,但是有个前提是,必须是有序数列。 例如:1,2,3,4,5,6。折半查的核心思想是,每次对折取中位数,如果和目标值相等,则退出;如果小于目标值,则左边界设定为mid+1;如果大于目标值,则设置右边界,mid-1。 然后循环,再次对折,直至满足退出条件。
请参考代码注释:
之前的章节介绍过,二分查找的时间复杂度是log(n)底数为2。
二分查找也叫折半查,能加快查找的速度,但是有个前提是,必须是有序数列。 例如:1,2,3,4,5,6。折半查的核心思想是,每次对折取中位数,如果和目标值相等,则退出;如果小于目标值,则左边界设定为mid+1;如果大于目标值,则设置右边界,mid-1。 然后循环,再次对折,直至满足退出条件。
请参考代码注释: