Java实现的两种常见简单查找算法示例【快速查找与二分查找】

网友投稿 249 2023-04-04


Java实现的两种常见简单查找算法示例【快速查找与二分查找】

本文实例讲述了java实现的两种常见简单查找算法。分享给大家供大家参考,具体如下:

前言:

查找是指从一批记录当中找出满足制定条件的某一记录的过程。

在平常的程序的编写当中很多时候时用得上的,这里简单介绍两个查找算法

1. 快速查找:

这个是相当简单的,以数组举例,就用一个for循环去查找数组中需要查找的数据

例子:

public static boolean quickSearch(int a[], int x) {

boolean f = false;

int length = a.length;

int i;

for (i = 0; i < length - 1; i++) {

if (x == a[i]) {

f = true;

break;

}

}

return f;

}

2. 二分法(折半)查找:

二分法查找,其要求数据序列必须是呈线性结构的,也就是说数据序列必须是排过序的才能用二分法。

直接举例(使用二分法的时候采用递归即可):

// 二分法方法一

public static boolean erFen(int a[], int low, int high, int x) {

boolean f = false;

if (low <= high) {

if (x < a[(low + high) / 2]) {

f = erFen(a, low, (low + high) / 2 - 1, x);

} else if (x > a[(low + high) / 2]) {

f = erFen(a, (low + high) / 2 + 1, high, x);

} else if (x == a[(low + high) / 2]) {

f = true;

}

}

return f;

}

// 二分法方法二

public static boolean erFen2(int a[], int x) {

boolean f = false;

int length = a.length;

int low = 0;

int high = length - 1;

int mid;

while (low <= high) {

mid = a[(low + high) / 2];

if (mid < x)

low =PfUikgQvrV (low + high) / 2 + 1;

else if (mid > x)

high = (low + high) / 2 - 1;

else if (mid == x) {

f = true;

break;

}

}

return f;

}

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java线性表的存储结构及其代码实现
下一篇:Java编程long数据类型的使用问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~