二分查詢法

2021-09-26 14:50:25 字數 485 閱讀 9799

object scalaseach /**

* 二分查詢法

* 二分查詢的前提是集合裡面的數是有序的

* 原理:取集合中間的值與要查詢的值進行比較,

* 假設list[index]>要查詢的值,說明要查詢的值在前半段,也就需要把列表中最後乙個值的索引改為index-1

* 以此類推 直到list[index]=要查詢的值

* 假設list[index]《要查詢的值,說明要查詢的值在後半段,也就需要把列表中起始值的索引改為index+1

* 以此類推 直到list[index]=要查詢的值

* 需求:定義方法【陣列[int]/列表[int],x:int】 ,找到x在陣列中的位置 [二分查詢] (index,list)

*/

def seach(list:list[int],find:int): unit =else if(list(index)return

}}

二分查詢法

二分查詢要求 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...

二分查詢法

演算法基本思想 二分查詢演算法的前置條件是,乙個已經排序好的序列 假設這個序列是公升序排列的 這樣在查詢所要查詢的元素時,首先與序列中間的元素進行比較,如果大於這個元素,就在當前序列的後半部分繼續查詢,如果小於這個元素,就在當前序列的前半部分繼續查詢,直到找到相同的元素,或者所查詢的序列範圍為空為止...