1、题目
已有一个10个元素的整形数组a,且按值从小到大有序。输入一个整数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出"Not Found"。
二分查找法前提:在一个严格递增的序列中找出给定的数字X。
2、思路
初始化指针在数组的开头和结尾,然后得到中间数,进行比较,移动头尾指针,进行一半的取舍。当找到的mid>low,则最小数一定在mid的右侧,当mid<high,最小数一定在mid的左侧(或者是mid)。
3、学习二分法中主要遇到的不足/难点:
(1)对题目分析有困难,不知道入手点在哪儿。
(2)没注意到是有序还是无序,忘记排序。
(3)数组溢出,导致编译出错。
(4)二分做起来感到还是很困难,要多加分析才能得出答案。
4、流程图
5、部分代码
原文地址:https://www.cnblogs.com/zyr-DR/p/12052143.html
时间: 2024-10-10 11:10:08