持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情
二分查找算法
接下来我们来看,一个二分查找算法,我们一直咔咔这个算法是吧,可能呢,大家需要一点时间去
消化二分查找我们什么意思呢,也是一个非常之常用的一个算法,目的是用来做查找,数据用的,我们
先看一下它的这个原理,二分查找也叫折半查找,它的效率是很高的,前提是已经排好序的数组中,通
过将待查找的元素与中间索引值对应的元素进行比较,若大于中间索引值对应的元素,则去右半部分查
找,否则去左半部分查找,依此类推,直到找到为止,找不到返回一个负数。
也就是说呢,我们来看,这个事例,有一个数列,但是必须要保证它是number,等一下又加S是
吧,必须保证是有序的是吗,比如说十二十,五十一百,哎哟太大了,怎么搞的跨度大,五十六十五是
吧,八十八九十,OK,好,必须保证数列是要有序的,无序的,不好意思,做不了二分查找,是吧,怎
么让它有序,你前面学的冒泡选择,学的插入都可以是吗,对不对,你就排吧,先排一遍,先排一遍这
张第一点必须保证什么数列是有有序的才能查找折半折半吗,从中间值开始找,中间值,如果你要找
数。
俾中间值要大,比中间值要大,那么你要找的数一定是在右右边,所以左边还要不要找就扔了,就
扔了,所以说卡折了一半,对相当于是折了一半,如果你要找到纸笔,中间值要小,右边不要在左边插
卡,相当于折了一半,下次还找中间值再折一半,是吧,所以二分查找的这个效率是非常高的,对吧,
非常高,但是它有一个特定的要求,就是必须保证数列要有序有序OK,要有序号,那我们这儿怎么找
呢,怎么找好,现在呢,我们来看,我这里我们学过方法,我们写一个方法,stand的课,我们叫做我
返回的一个注意早呢,我们在数学中找找什么,找这个数在数列当中的位置,找到位置就找到这个,这
个数了吗,对,找到有吗,好吧,所以我们一直是in的类型,就是表示数组的下标是。