1. 程式人生 > >索引和查找課堂筆記與解讀同伴問題和收獲

索引和查找課堂筆記與解讀同伴問題和收獲

因子 邏輯 靜態 取值 破解 高速 基本 查找算法 根據

課堂筆記

  • 索引:(Index)是一種線索性指引,它是關鍵字和相應的物理地址之間的一種邏輯清單。
  • 索引的邏輯特征
    數據邏輯結構包括集合,線性結構,樹形結構和圖形結構
  • 線性索引技術
    線性索引技術包括稠密索引,分塊索引,多重表和倒排表
  • 靜態索引和動態索引的區別
    靜態索引:插入刪除復雜度高,使用內容基本不變得集合,可以是線性或樹形(多級),而動態索引:插入刪除不能太復雜,適用變化多且快速的情況,一般為樹形。
  • 樹形索引
    分為二叉搜索樹和B樹
  • 查找概述
    查找算法的性能
  • 線性表的查找技術
    順序查找,最暴力的破解方法,針對無需順序表,鏈表的查找,只能如此,其復雜度為O(n)
    在有序表上的查找
    折半查找和斐波那契查找
    索引查找
    索引查找的必要性:數據量大時,身姿小巧的索引表可以入駐內存獲得高速查找效率.除了折半查找和斐波那契查找,還有內插查 找和分塊查找.
    非數值有序表上的查找
  • 樹表的查找技術
  • 散列表的查找技術
    散列概述
    根據設定的散列函數H(key Word)和處理沖突的方法,將一組關鍵字映像到一個有限的、連續的地址集(區間)上。這種表稱為散列表。
    裝填因子:填滿程度,記為a,常取值於[0.65,0.9]
    *散列函數構造設計基本原則,值域內,散列函數值在分配的散列表長度空間內;簡單性,散列函數的計算都很簡單;均勻性,散列函數的輸出結果盡量均勻的分布在整個地址取值空間上
  • 處理沖突的方法
    開放尋址法,在散列表中形成一個探查序列,沿此序列逐單位進行查找,直到找到一個空的單元時將新節點放入
    拉鏈法,將所有關鍵字為同義詞的結點鏈接到同一個單鏈表中

索引和查找課堂筆記與解讀同伴問題和收獲