靜態查找表
二叉排序樹
平衡二叉樹
B-樹和B+樹
哈希表(查找)
散列或哈希
Hash 是把任意長度的輸入通過散列算法變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來確定唯一的輸入值。
哈希表
給定表 M,存在函數 f(key),對任意給定的關鍵字值 key,代入函數後若能得到包含該關鍵字的記錄在表中的地址,則稱表 M 爲哈希 (Hash)表,函數 f(key) 爲哈希(Hash) 函數。
對不同的關鍵字可能得到同一散列地址,即 k1≠k2,而 f(k1)=f(k2),這種現象稱爲衝突。
處理衝突
- 鏈地址法
- 開放尋址法:線性探測法、二次探測、雙重散列