有序数组的二分查找
来源:互联网 发布:java如何限制登录次数 编辑:程序博客网 时间:2024/04/20 01:16
二分查找的优点是比较次数少,查找数度快,但是在查找之前必须要简历有序表。另外,二分查找只适用于顺序存储的有序表,而不适用于链接存储的有序表。
二分查找的过程:首先将x与数组的中间项进行比较,若x小于中间项的值,则在线性表的前半部分进行二分查找;若x大于中间项的值,则在线性表的后半部分进行二分查找;若x等于中间项的值,则查找结束。若待二分的子表长度为0时仍然没有找到这个元素,则说明数组中没有x。
<span style="white-space:pre"></span>// 二分查找 x 数组 ,n 数组长度, a要查找的元素private static int dichotomyFind(int[] x, int n, int a) {int s, t, k;s = 0; // 数组起始元素t = n - 1; // 数组最后一个元素for (;;) {if (t == s) { // 只有一个元素if (x[t] == a) {return t;} else {return -1;}} else {k = (s + t) / 2; // 二分if (x[k] < a) { s = k;} else if (x[k] > a) {t = k;} else {return k;}}}}
0 0
- 有序数组的二分查找
- 有序数组的二分查找
- 有序数组的二分查找
- 有序数组\二分查找
- 有序数组二分查找
- 有序 循环数组的二分查找
- 旋转有序数组的二分查找
- 有序数组的二分查找程序
- 9.5-字符串有序数组的二分查找
- 对于有序数组的二分查找算法
- 旋转有序数组的二分查找
- 基于有序数组的二分查找
- 旋转有序数组的二分查找
- 二分数组的扩展:二分查找循环有序数组
- 有序数组中的二分查找
- 有序数组之二分查找
- 二分查找(有序数组中查找需要的数)
- 循环有序数组/旋转数组的二分查找
- VC 文档+视图 详细分析
- 我有太多话想说,这也是个白帽子的自述
- hibernate Xml 方式
- Ubuntu 14.10配置LAMP环境
- Tuple
- 有序数组的二分查找
- 条款1:尽量用const和inline而不用#define [effective C++ 学习笔记]
- linux下删除乱码文件
- U3D<<SPACESHOOT>>个人重制版。代码分享(二)循环运动的背景图
- 双生子佯谬——绝对权威的解释
- Qt中设置按钮透明的方法
- ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
- Leetcode -- Pow(x, n)
- 搜索引擎技巧