Java查找算法(二): 顺序查找
[ 什么是顺序查找 ]
顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功;如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功。
[ Java实现顺序查找 ]
public class SequentialSearch { public static void main(String[] args) { Integer target = 6; Integer[] iArr = { 3, 2, 6, 8, 5, 1, 7, 9 }; Integer index = sequentialSearch(iArr, target); System.out.println(index); } public static <T> Integer sequentialSearch(T[] t, T target) { for (int i = 0; t != null && i < t.length; i++) { if (t[i] == target) { return i; } } return -1; } }
[ 顺序查找的优缺点 ]
优点:代码简单易懂
缺点:当数据量大的时候,查找效率极为低下,所以该算法适合小量数据。
[ 顺序查找的算法复杂度 ]
查找成功最好的情况是在第一个位置就找到了,算法时间复杂度为O(1)
最坏的情况是在最后一个位置就找到了,时间复杂度为O(n)
关键字在任何一个位置的概率是相同的,所以平均查找次数为(n+1) / 2,所以最终时间复杂度为O(n)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。