public class Dichotomy {
public static void main(String[] args) {
int[] array=new int[100000];
for(int i=0;i<100000;i++){
array[i]=(i+10);
}
int point=find(array,99998);
System.out.println("返回数组的索引:"+point);
System.out.println("对比查询结果(查询条件:99998,结果:"+array[point]+")");
}
/**
* 二分法,当一个数据集合为有序的时候可以使用二分法来查询,
* 这里在一个数组中查询一个值,并返回它的索引(这里假设数组为升序排序,并且值都不等)
*/
public static int find(int[] array,int param){
int firstPoint=0;
int lastPoint=(array.length-1);
int point;
int i=1;
while(true){
point=(firstPoint+lastPoint)/2;
if(array[point]==param){
return point;
}else if(firstPoint>lastPoint){
return -1; //没有查询结果,返回-1
}else{
if(array[point]>param){
lastPoint=point-1;
}else{
firstPoint=point+1;
}
}
System.out.println("循环次数:"+i++);
}
}
}
/*
打印结果:
循环次数:1
循环次数:2
循环次数:3
循环次数:4
循环次数:5
循环次数:6
循环次数:7
循环次数:8
循环次数:9
循环次数:10
循环次数:11
循环次数:12
循环次数:13
循环次数:14
循环次数:15
返回数组的索引:99988
对比查询结果(查询条件:99998,结果:99998)
*/
分享到:
相关推荐
冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询
本项目中,我们关注的是如何利用C语言来实现一个二分法查询温度表的程序,这个程序可以帮助我们快速找到对应于特定电阻值的温度。 二分法,也称为折半查找,是一种在有序数组中查找特定元素的搜索算法。其基本思想...
利用java二分法来计算最靠近值,通过二分法来遍历数据,得到想要最近值
使用二分法查询这个表可以快速找到与当前读取到的PT100电阻值最接近的两个点,从而通过插值计算出更精确的温度值。 #### 二分法步骤: 1. **初始化**:设置查找范围的左边界`left`为数组的第一个元素,右边界`...
1. 按航班号查询:使用二分法查询航班信息,时间复杂度为O(logn)。 2. 按时间查询:使用链表来存储航班信息,然后使用顺序表来实现时间查询。 3. 按地点查询:使用链表来存储航班信息,然后使用顺序表来实现地点查询...
- 文档中虽然没有给出完整的二分法查询代码,但提到了这个方法。二分法查询适用于有序数据,通过不断缩小查找范围,提高查询效率。在航班查询中,可能用于快速定位某个航班号。 7. **流程图**: - 流程图是描述...
这个方法的关键在于其高效性,每次查询都能将搜索区间减半,因此在大量数据中查找特定值时非常有效。二分法不仅用于查找,还可以应用于多种问题,例如求解方程、寻找最小或最大元素等。 在二分法解方程的过程中,...
二分法查询是一种非常高效的查询方法,可以提高查询内表数据的速度。因此,在查询内表数据时,应该使用二分法查询。 11. 两个内表添加使用批量增加代替逐行 在ABAP程序中,逐行增加内表将会影响程序的性能。因此,...
通常多表联查并且数据大时,分页查询时,会出现查询性能问题,查分页后面的数据,时间越久。但我们可以通过判断查询数据的总数据来进行相应的查询方式,从而保证性能。
在本项目中,我们讨论的是一个使用C语言编写的宿舍管理系统,它采用了二分查找算法来提高数据查询效率。这个系统具有保存数据到文件以及从文件中读取数据的功能,可以按照姓名、学号或宿舍号对数据进行排序。下面...
在实际应用中,二分法查找常用于大型数据库和搜索引擎的索引构建,因为它能快速定位数据,提高查询速度。同时,这个算法也经常在计算机科学和编程竞赛中出现,是解决问题时的重要工具之一。理解并掌握二分查找的原理...
- 使用二分法查询提高效率 - **图书流通管理子系统**: - 借书/还书处理 - 备注修改 - **权限管理**: - **系统管理员**: 拥有所有功能权限。 - **图书管理员**: 拥有图书管理和流通管理权限,可修改密码。 - ...
1. **数据库查询**:二分查找常用于对数据库中的有序记录进行快速查找。 2. **数值计算**:在数值分析中,二分查找可以用来寻找函数的根。 3. **算法优化**:作为基础的搜索算法,二分查找还被广泛应用于更复杂的...
例如,使用二分法可以优化数据库查询,提升程序运行效率。对于测试开发岗位,熟悉二分法有助于设计和执行高效的测试用例,定位问题更快更准确。 在准备面试时,除了掌握算法原理外,还需要练习如何在有限的时间内写...
### 基于二分法的从词库中查找单词 #### 一、二分法简介 二分法(Binary Search),又称折半查找算法,是一种在有序数组中查找特定元素的有效方法。其基本思想是将查找区间分成两部分,并通过比较中间元素与目标值...
- 在最理想的情况下,数据索引的查询效率接近于二分法查询,即时间复杂度约为O(log N),这比线性搜索的时间复杂度O(N)显著降低。 - **理解数据索引结构:** - 数据索引通常采用B树(B-tree)结构,默认情况下...
总结来说,通过二分法在IP地址查询中的应用,可以有效解决传统数据库在大规模和高频次查询中所面临的性能问题。通过优化数据的存储格式和检索算法,实现了更快的查询响应,满足了数据分析中对于高速度的要求。这种...
- 在数据库查询优化中,用于快速定位索引。 二分法的源程序通常会包含这些核心逻辑,通过对给定的示例代码分析,我们可以更好地理解和掌握这一重要算法。同时,通过实践编写和调试二分法代码,可以提高编程技能和对...