以下是用JAVA实现的折半查找法:
public class SplitFind {
/**
* @author hbliu
* @param arrayData 数组
* @param searchData 要查找的数据
* @param start 开始下标
* @param end 结束下标
* @return 数据在数组中下标的位置,如果数据不在数组中,返回 -1
* 功 能:折半查找
*/
public static int splitHalf(int[] arrayData,int searchData,int start,int end){
int index = (start + end)/2;
int data = arrayData[index];
if(start > end ){
return -1;
}
if(data == searchData){
return index;
}else{
if(data < searchData){
return splitHalf(arrayData,searchData,index+1,end);
}else{
return splitHalf(arrayData,searchData,start,index-1);
}
}
}
/**
* @author hbliu
* @param args
*/
public static void main(String[] args) {
int[] array = { 3,5,11,17,21,23,28,30,32,50};
System.out.println(array.length);
int isExist = splitHalf(array,(int)50,0,array.length - 1);
System.out.println("isExist : "+isExist);
}
}
分享到:
相关推荐
总的来说,快速排序和折半查找是计算机科学中不可或缺的算法,通过递归和分治策略,可以在Java中高效地实现这些算法,并结合界面设计,为用户提供直观的交互体验。在实际项目中,理解和掌握这些算法有助于优化数据...
折半查找法
所谓的二分查找,指的是将待查的数据序列而分化,然后对比中间中间值和要查找值,判断结果,相等则找到,小于则在左边的子序列找,大于则在右边的子序列找
总的来说,"java 快速排序 折半查找的界面实现"项目旨在通过可视化的方式帮助学习者理解和掌握这两种经典的算法。通过实际的代码实现和交互式的界面,不仅能够锻炼编程技能,还能加深对算法本质的理解,对于提升编程...
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...
折半查找 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现折半查找5.java 使用java代码实现
Java折半法查找方法 折半法查找是一种常用的查找算法,适用于已排序的数组。该算法的基本思想是将数组分成两部分,然后通过比较目标值与中点值的大小来确定目标值所在的半区间,如此反复直到找到目标值或确定目标值...
Java数据结构实现折半查找的算法过程解析 折半查找是一种常用的查找算法,通过将查找范围不断地缩小来实现快速的查找。Java数据结构实现折半查找的算法过程解析中,主要介绍了折半查找的理论基础、实现方法和优化...
折半查找 使用java实现
### Java代码递归的折半查找算法 #### 算法概述 递归版本的折半查找算法是一种高效的搜索技术,适用于已排序的数组。它的工作原理是将问题分解为更小的问题,直到找到目标值或确定目标值不存在于数组中为止。这种...
折半查找法基于java的折半查找算法.zip
JAVA 数据结构二分法查找代码。(实验)
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
java写的折半查找法,使用间的循环语句,但是逻辑可能不够简洁,希望互相学习!
折半查找法
这是一个关于数组查找方式的练习,供大家学习交流~~
非递归实现折半查找通常使用循环结构,如 `while` 或 `do-while`。基本步骤与递归类似,但不使用函数调用自身,而是通过不断更新起始索引和结束索引来控制搜索范围: 1. 初始化中间索引,计算初始的中间值。 2. ...
在Java中,传统的折半查找通常针对特定类型的数组(如整数或字符串)编写,而泛型化折半查找则可以适应任何实现了Comparable接口的对象数组。下面我们将详细探讨这个主题: 1. **泛型基础**: - 泛型引入了类型...