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