黑马程序员---Java语言基础8
来源:互联网 发布:幂指函数求极限知乎 编辑:程序博客网 时间:2024/05/16 18:24
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
二分法查找
二分法思想是取中,比较 :
1)求有序序列arr 的中间位置mid 。 2 )k 为要查找的数字。
若arr[mid] == k ,查找成功;
若arr[mid] > k ,在前半段中继续进行二分查找;
若arr[mid] < k ,则在后半段中继续进行二分查找。
假如有一组数为3、12、24、36、55、68、75、88 要查给定的值k=24 。可设三个变量low、mid 、high 分别指向数据的上界,中间和下界,mid= (low+high )/2.
1)开始令low=0 (指向3 ),high=7 (指向88 ),则mid=3 (指向36 )。因为k<mid ,故应在前半段中查找。
2 )令新的high=mid-1=2 (指向24 ),而low=0 (指向3 )不变,则新的mid=1 (指向12)。 此时k>mid ,故确定应在后半段中查找。
3 )令新的 low=mid+1=2 (指向24 ),而high=2 (指向24 )不变,则新的mid=2 ,此时k=arr[mid] ,查找成功。 如果要查找的数不是数列中的数,例如k=25 ,当第四次判断时,k>mid[2] ,在后边半段查找,令low=mid+1 ,即low=3(指向36),high=2 (指向24 )出现low>high 的情况,表示查找不成功。
- 黑马程序员---Java语言基础8
- 黑马程序员---Java语言基础
- 黑马程序员--Java语言基础
- 黑马程序员--Java语言基础
- 黑马程序员--Java语言基础
- 黑马程序员------java语言基础
- 黑马程序员------java语言基础
- 黑马程序员--java基础--语言基础部分
- [黑马程序员]--Java语言基础一
- [黑马程序员]--Java语言基础二
- [黑马程序员]--Java语言基础-多线程
- 黑马程序员- java语言基础组成
- 黑马程序员—Java语言基础1
- 黑马程序员—Java语言基础2
- 黑马程序员—Java语言基础1
- 黑马程序员—Java语言基础2
- 黑马程序员—Java语言基础
- 黑马程序员 Java 语言基础下
- Android数据库高手秘籍(二)——创建表和LitePal的基本用法
- LeetCode---Two Sum
- JAVA 正则表达式入门
- 关于druid数据连接池抛出的 connection holder is null 异常
- 记录一下历史的时刻
- 黑马程序员---Java语言基础8
- 82. Notes客户端Print相同信息到状态栏的问题
- 第九周项目一利用循环求和(1)
- 第九周项目1-利用循环求和(1)
- 第9周项目2分数的累加
- Linux命令之软件的安装与卸载-rpm,dpkg,yum
- XML解析PULL
- 在WindowsXP系统下搭建PPPoE服务器总结
- 粉刺和痘痘的形成原因及治疗