class BinarySearch
{
public static void main(String[] args)
{
int arr[]={1,2,3,4,5,6,7,};
int temp=search(arr,2);
System.out.println(temp);
}
//
折半查找前提是:数组必须是有序的
public static int search(int arr[],int key){
int min,max,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(arr[mid]!=key){
if(arr[mid]<key){
min=mid+1;
}
else if(arr[mid]>key)
max=mid-1;
if(min>max)
return -1;
mid=(min+max)/2;
}
return mid;
}
}
分享到:
相关推荐
如果前者比后者小,则要查找的数据必然在数组的前半部,此后只需在数组的前半部中继续折半查找;如果前者的数值比后者大,则要查找的数据必然在数组的后半部,此后只需在数组的后半部继续进行折半查找。 5.编程...
C语言程序设计-查找算法:读懂、掌握顺序查找、折半查找算法 编写程序在数组中查找一个数。要求: ⑴用顺序查找实现; ⑵用折半查找实现。 注:若有该数,则输出该数,否则输出“无此数”。
折半查找是数据结构中,查找的其中一种。此资源不但包括折半查找的算法,还包括帮助其运行的其他代码,可直接运行以实现折半查找。注:输入数据时,要将数据从大到小依次输入,方可实现折半查找。
java 快速排序 折半查找的界面实现 (递归与分治法)
java写的折半查找法,使用间的循环语句,但是逻辑可能不够简洁,希望互相学习!
递归调用的折半查找java代码,算法分析与设计实验报告。
Visual C++,有序数组的折半查找,和顺序查找法相比,其速度更快。
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围...
折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)
JAVA 数据结构二分法查找代码。(实验)
折半查找、二叉排序树的建立、...2————折半查找————— 3————建立二叉排序树—— 4————二叉排序树查找—— 5————二叉排序树删除—— 6————查找关键字(线性探测) 7————查找散列表(链式)
这是一个关于数组查找方式的练习,供大家学习交流~~
主要介绍了Java数据结构实现折半查找的算法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
折半查找c语言函数, 在数组总查找 例子
22计科1班+1221020150+田辉+查找——折半查找源程序.c
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...
该文档详细讲述了折半查找的优点和缺点,以及适用的情况,也写了一维数组和二维数组使用折半查找的代码,,,,,,,,
java 快速排序 折半查找 的界面实现(并附有递归分治法PPT)
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1