遞迴的兩個特點:呼叫自身、結束條件
列表查詢:從列表中查詢指定元素
輸入:列表、待查詢元素
輸出:元素下標或未查找到元素
順序查詢:
從列表第乙個元素開始,順序進行搜尋,直到找到為止。
二分查詢:
從有序列表的候選區data[0:n]開始,通過對待查詢的值與候選區中間值的比較,可以使候選區減少一半。
二分查詢時間複雜度為:o(logn)
順序查詢的時間複雜度是:o(n)
二分查詢**:(使用二分查詢3)
* 二分查詢 */
public
class
search
else
if(data_set[mid] < val)
else
}return -1;
}public
static
void
main(string args)
int val = 3;
int index =bin_search(arr, val);
system.out.println(val+"在陣列中的下標為:"+index);}}
備註:個人認為主要改進點為端點值的乙個判斷。
題目1 二分 二分查詢
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...
題目1 二分 二分查詢
link 時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩...
二分查詢與二分答案(1)
我們在寫程式的時候,經常會遇到這樣一類問題 在乙個陣列中查詢乙個數是不是存在。比如在下圖的陣列中,查詢8是不是存在 如果不要求效率,我們最一般的查詢方法就是順序查詢,依次檢視a 0 a 1 a n 1 檢查是不是等於8。這樣對於長度為n的陣列,平均查詢長度是n 2 如果陣列是有序的,比如是遞增的,就...