查找算法

1.二分查找

1.基本思想:

比較序列中最中間的數與要查找的之間的關係:如果大於要查找的數,則再次查找最中間的數左邊的序列;如果小於要查找的數,則再次查找最中間的數右邊的序列;如果相等則返回其下標;如果要查找的範圍內已經沒有數據,則序列中沒有這個元素。

2.缺點:

要查找的必須是排好序的序列

序列中存在多個要查找的元素時,只能返回1個,且不一定是第幾個

3.java語言代碼

public static int BinaryFind(int[] Arr,int left,int right, int value)
	{
		if(left <= right)
		{
			if(Arr[(left + right)/2] > value)
				return BinaryFind(Arr,left,(left + right)/2 - 1,value);
			else if(Arr[(left + right)/2] < value)
				return BinaryFind(Arr,(left + right)/2 + 1,right,value);
			else
				return (left + right)/2;
		}
		else
			return -1;
	}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章