码迷,mamicode.com
首页 > 编程语言 > 详细

Java查找算法(二): 顺序查找

时间:2015-03-08 20:12:57      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

[ 什么是顺序查找 ] 

顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功;如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功。


[ 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)



Java查找算法(二): 顺序查找

标签:

原文地址:http://blog.csdn.net/zdp072/article/details/44134883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!