查找算法總結

1.查找算法算法

查找是在大量的信息中尋找一個特定的信息元素,在計算機應用中,查找是經常使用的基本運算,例如編譯程序中符號表的查找。本文簡單歸納性的介紹了常見的七種查找算法,說是七種,其實二分查找、插值查找以及斐波那契查找均可以歸爲一類——插值查找。插值查找和斐波那契查找是在二分查找的基礎上的優化查找算法。樹表查找和哈希查找會在後續的博文中進行詳細介紹。
  查找定義:根據給定的某個值,在查找表中肯定一個其關鍵字等於給定值的數據元素(或記錄)。
  查找算法分類:
  1)靜態查找和動態查找;
    注:靜態或者動態都是針對查找表而言的。動態表指查找表中有刪除和插入操做的表。
  2)無序查找和有序查找。
    無序查找:被查找數列有序無序都可;
    有序查找:被查找數列必須爲有序數列。
  平均查找長度(Average Search Length,ASL):需和指定key進行比較的關鍵字的個數的指望值,稱爲查找算法在查找成功時的平均查找長度。
  對於含有n個數據元素的查找表,查找成功的平均查找長度爲:ASL = Pi*Ci的和。
  Pi:查找表中第i個數據元素的機率。
  Ci:找到第i個數據元素時已經比較過的次數。優化

相關文章
相關標籤/搜索