二分搜尋演算法,Java實現

2021-09-16 22:08:21 字數 654 閱讀 3708

這裡用遞迴和非遞迴的方式實現了二分搜尋:

ps:二分搜尋是對已經排序完成的陣列進行搜尋定位,我這裡是以公升序排列為例,可用歸併排序等演算法進行排序(可見我其他博文)

/**

* 二分搜尋演算法,通過比較順序列表中間元素的值,迅速縮小規模查詢元素,

* 時間複雜度為:o(n) = logn

*/public class binarysearch elseelse

}else

return -1;}}

/*** 非遞迴實現

* @param array

* @param element

* @return

*/public static int binarysearch1(int array, int element)

int right = array.length - 1;

int left = 0;

int mid = (right + left) / 2;

while (right >= left)else if (array[mid] < element)else if (array[mid] > element)

}return -1;

}}

二分搜尋演算法

今天我勉強搞懂了二分查詢演算法,我覺得很有收穫,這是個不錯的演算法,希望還不知道 不懂二分演算法的朋友能看看!二分查詢 二分查詢的前提是陣列一定是有序的 傳入乙個陣列 t 傳入乙個查詢元素 t key 返回查詢結果 class myutil else if key.compareto x mid 0...

二分搜尋演算法

在電腦科學中,二分搜尋 英語 binary search 也稱折半搜尋 英語 half interval search 對數搜尋 英語 logarithmic search 是一 種在有序陣列中查詢某一特定元素的搜尋演算法。搜尋過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則搜尋過程結束...

二分搜尋演算法

1.x y 2與x y x 2區別 運算子 取整朝零方向取整,5 2 2,5 2 2 用x y x 2好處是確保分界點總是靠近區間起點 2.基本二分查詢的實現方法 int bsearch int a,int x,int y,int v return 1 3.設lower bound和upper bo...