二分(折半)查找
来源:互联网 发布:js压缩文件还原 编辑:程序博客网 时间:2024/05/20 08:00
前提条件:
List——一个元素有序存放的线性列表;
k——待查找的元素。
二分查找法的原理是:这里假设List是按照递增顺序排列,对于给定的关键字k,比较k和处于List的中间位置的元素的大小关系,根据这个大小关系来确定k是在List的中间还是在List的前半段或后半段,以此类推,知道找到元素k或者查找失败。
C++实现:
/*----------------------------------------Array是存储待查找元素的数组length是数组的长度或者说是待查找序列的元素个数item是待查找的元素----------------------------------------*/void binarySearch(int* Array, int length, int item) { if (Array == NULL) return; int first = 0, last = length - 1, mid; bool found = 0; while (first <= last && found == false) { mid = (first + last) / 2; if (item > Array[mid]) { first = mid + 1; } else if (item < Array[mid]) { last = mid - 1; } else if(item == Array[mid]) { cout << mid << endl;//输出item在Array中的索引号(以0开始) found = true; } }}
0 0
- 折半查找(二分)
- 二分(折半)查找
- 折半查找(二分查找)
- 二分查找(折半查找)
- 二分查找(折半查找)
- 折半查找(二分查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- 二分查找(折半查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- 折半查找(二分查找)
- 折半查找(二分查找)
- 折半查找(二分查找)
- 折半查找(二分查找)
- 二分查找(折半查找)
- Hibernate二级缓存
- vue2中src实现数据绑定遇到的问题
- Linux下的fd和fp
- c++数据结构 递归算法转换为非递归算法
- 梯度下降(Gradient Descent)小结
- 二分(折半)查找
- 爱奇艺自媒体平台如何入驻,被封怎么办?
- Python中矩阵和数组的乘法简介
- 表单元素与提示文字无法对齐的问题(input,checkbox文字对齐)
- Coursera吴恩达机器学习课程 总结笔记及作业代码——第5周神经网络续
- JavaScript 字符串
- 博客开通了
- USACO
- 人脸识别之性别实现