二分查找法学习

Posted zyr-dr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找法学习相关的知识,希望对你有一定的参考价值。

1、题目

已有一个10个元素的整形数组a,且按值从小到大有序。输入一个整数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出"Not Found"。
二分查找法前提:在一个严格递增的序列中找出给定的数字X。

2、思路

初始化指针在数组的开头和结尾,然后得到中间数,进行比较,移动头尾指针,进行一半的取舍。当找到的mid>low,则最小数一定在mid的右侧,当mid<high,最小数一定在mid的左侧(或者是mid)。

3、学习二分法中主要遇到的不足/难点:

(1)对题目分析有困难,不知道入手点在哪儿。
(2)没注意到是有序还是无序,忘记排序。
(3)数组溢出,导致编译出错。
(4)二分做起来感到还是很困难,要多加分析才能得出答案。

4、流程图

技术图片

5、部分代码

技术图片

以上是关于二分查找法学习的主要内容,如果未能解决你的问题,请参考以下文章

Golang示例学习2---二分查找法

死磕算法之二分查找法

利用二分查找法来解一道列表排序题

二分查找法(二分搜索法)

算法:二分查找法

java 二分查找法