二分查詢思想(使用遞迴和不適用遞迴的思想)

2021-08-28 16:49:44 字數 1088 閱讀 7268

* 迴圈二分查詢,返回第一次出現該值的位置

* * @param array

* 已排序的陣列

* @param findvalue

* 需要找的值

* @return 值在陣列中的位置,從0開始。找不到返回-1

*/public static int searchloop(int array, int findvalue)

// 起始位置

int start = 0;

// 結束位置

int end = array.length - 1;

while (start <= end) else if (findvalue < middlevalue) else

} // 返回-1,即查詢失敗

return -1; }}

使用遞迴實現折半查詢

public static int binsearch(int array, int key)

/*** 遞迴折半查詢

簡單二分查詢和遞迴的思想

遞迴是一種重要的程式設計思想,在學習資料結構時,經常用到遞迴的思想。就是讓函式在一定條件下不斷的呼叫自己,從而求解。思考起來邏輯更為簡單,更加簡潔,但是也容易出現死迴圈,並且 的擴充套件性和可讀性不好。今天我寫了二分查詢的遞迴演算法和非遞迴演算法。二分查詢是用來從乙個有序陣列中查詢某乙個值是否存在,...

Java實現折半查詢 二分查詢 的遞迴和非遞迴演算法

轉 http wintys.blog.51cto.com 425414 94051 名稱 binarysearch 功能 實現了折半查詢 二分查詢 的遞迴和非遞迴演算法.說明 1 要求所查詢的陣列已有序,並且其中元素已實現comparable介面,如integer string等.2 非遞迴查詢使用...

Java實現折半查詢 二分查詢 的遞迴和非遞迴演算法

名稱 binarysearch 功能 實現了折半查詢 二分查詢 的遞迴和非遞迴演算法.說明 1 要求所查詢的陣列已有序,並且其中元素已實現comparable介面,如integer string等.2 非遞迴查詢使用search 遞迴查詢使用searchrecursively 本程式僅供程式設計學習...