二分查找——分半
配套视频:二分查找——切半_哔哩哔哩_bilibili
主要思想:
(资料图)
二分法的思想比较简单,因为整个数组是有序的。首先选择数组中间的数字和需要查找的目标值比较,如果相等最好,就可以直接返回答案;如果中间的数字大于目标值,则中间数字向右的所有数字都大于目标值,全部排除,中间数字向左的剩余数字继续进行递归查找;如果中间的数字小于目标值,则中间数字向左的所有数字都小于目标值,全部排除,中间数字向右的剩余数字继续进行递归查找。
适用范围:
首先,二分查找用于查找的内容逻辑上来说是需要有序的,而且查找的数量只能是一个,而不是多个;其次,二分查找其实不适合数据量太小的数列:数列太小,直接顺序遍历说不定更快,也更简单。如果比较操作耗时占整个遍历算法时间的大部分时,使用二分查找就能有效减少元素比较的次数。
例题:
1.查找
2.银行贷款
总结:
今天,我们聊了聊【二分查找】。它的原理是首先选择数组中间的数字和需要查找的目标值比较,如果相等,就直接返回答案;如果中间的数字大于目标值,则中间数字向右的所有数字都大于目标值,全部排除:如果中间的数字小于目标值,则中间数字向左的所有数字都小于目标值,全部排除。如果每次元素与元素的比较是比较耗时的,哪么使用二分查找就能有效减少元素比较的次数。而且二分查找用于查找的内容是需要有序的,而且查找的数量只能是一个。
好啦,关于二分查找就说到这里。这里是康郭聊算法,拜拜!
#注:例题答案请查看视频。