1. 程式人生 > >幾種常見的查詢演算法之比較

幾種常見的查詢演算法之比較

一、順序查詢
  條件:無序或有序佇列。
  原理:按順序比較每個元素,直到找到關鍵字為止。
  時間複雜度:O(n)

二、二分查詢(折半查詢)
  條件:有序陣列
  原理:查詢過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則搜素過程結束;
     如果某一特定元素大於或者小於中間元素,則在陣列大於或小於中間元素的那一半中查詢,而且跟開始一樣從中間元素開始比較。
     如果在某一步驟陣列為空,則代表找不到。
     這種搜尋演算法每一次比較都使搜尋範圍縮小一半。
  時間複雜度:O(logn)

三、雜湊表(散列表)
  條件:先建立雜湊表(散列表)
  原理:根據鍵值方式(Key value)進行查詢,通過
雜湊函式
,定位資料元素。   時間複雜度:幾乎是O(1),取決於產生衝突的多少。