採用二分查詢法,在乙個排好序的陣列t[1…n]中查詢x,如果x在t中,輸出x在t的下標j;如果x不在t中,輸出j=0.
二分查詢:查詢過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則查詢過程結束;如果某一特定元素大於或者小於中間元素,則在陣列大於或小於中間元素的那一半中查詢,而且跟開始一樣從中間元素開始比較。如果在某一步驟陣列為空,則代表找不到。
時間複雜度:o(log n)
int
bisearch
(int list,
int target)
return0;
}
3 2二分查詢
輸入n值 1 n 1000 n個非降序排列的整數以及要查詢的數x,使用二分查詢演算法查詢x,輸出x所在的下標 0 n 1 及比較次數。若x不存在,輸出 1和比較次數。輸入格式 輸入共三行 第一行是n值 第二行是n個整數 第三行是x值。輸出格式 輸出x所在的下標 0 n 1 及比較次數。若x不存在,輸...
二分查詢法
二分查詢要求 1.必須採用順序儲存結構 2.必須按關鍵字大小有序排列。優缺點 折半查詢法的優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。演算法思想 首先,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者...
二分查詢法
有序陣列中的find 方法 public int find long serchkey int lowerbound 0 int upperbound nelems 1 while true curin lowerbound upperbound 2 if a curin serchkey retu...