折半查找算法描述:假定顺序表已按升序排列,从表的中间位置开始比较,如果当前元素的关键字等于给定值,则查找成功;否则,若给定值小于当前元素关键字,则在表的前半段继续查找;反之,在后半段继续查找,直到获得查找结果。
public static int binarySearch(int array[], int value) {
int low = 0;
int heig = array.length - 1;
int mid;
while (low <= heig) {
mid = (low + heig) / 2;
if (array[mid] == value) {
return mid;
}
if (array[mid] > value) { //制定值小于当前值则在前半段继续查找
heig = mid - 1;
}
if (array[mid] < value) { //指定值大于当前值则在后半段继续查找
low = mid + 1;
}
}
return -1;
}
分享到:
相关推荐
折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)
C#实现 二分查找 折半查找 visual studio 2012开发环境 具有图形化界面
C++数据结构折半查找法二分查找法,算法设计新颖,有利于数据结构初学者的学习!
该文档详细讲述了折半查找的优点和缺点,以及适用的情况,也写了一维数组和二维数组使用折半查找的代码,,,,,,,,
折半查找(又称二分查找)是一种高效的查找算法,适用于已排序的数组或列表。其基本思想是将待查找的元素与数组中间元素进行比较,如果相等则返回该元素的下标;如果待查找元素小于中间元素,则在数组左半部分继续...
用分治法思想实现二分查找,Java语言描述。
C语言折半查找、二分查找
二分查找,也称为折半查找,是一种在有序数据集中查找特定元素的算法。它的高效性使得二分查找在多种应用场景中成为首选的搜索算法。下面我们将从原理、应用、性能分析及扩展变种等方面进行详细探讨。 二分查找的...
在数组x中查找数字a,其中x是一个元素各异并按升序排列的一维数组.若找到a,则返回a在x中的位置,若a不在x中则返回“找不到”.
完整的实现了查找功能,并有被查数的前一个数和后一个数,能够更好的检验查找的正确性
折半(二分)查找算法C语言源程序,首先借助于快速排序算法对数组进行从小到大的排序,然后折半进行查找,直到找到相应数字为止。
三种查找的方法,一点点东西,很简单,里面包括伪代码和解析。
顺序查找表 二分查找表 折半查找表 二叉排序树 C#源代码 注意二叉排序树只实现了查找和插入算法,使用Visual Studio 2008开发
折半查找,也称为二分查找(Binary Search)或对数查找(Logarithmic Search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;...
Visual C++,有序数组的折半查找,和顺序查找法相比,其速度更快。
二分查找 C语言语言源代码 用递归写的 C语言入门经典代码 值得收藏
第三部:输入一个数,在后在排好序的数中进行折半查找,判断该数的位置 实现代码如下: 方法一: 选择排序法+循环折半查找法 代码如下:#include<iostream>using namespace std;int main(){ int a[15]; int n,i; ...
数据结构八大算法,详细介绍了算法的如何实现,以及编码过程,有简单到复杂,由浅入深,看看会有很大收获。
这个文档是用tensorflow 来实现的折半查找的程序,有需要的欢迎下载。
有15个数折半查找法 在上述代码中,`binarySearch`函数实现了折半查找算法。通过维护两个指针`left`和`right`来确定当前的查找范围。在每一次循环中,计算中间元素的索引`mid`,然后用目标值与中间元素进行比较。...