数据结构之查找算法:散列查找
生活随笔
收集整理的這篇文章主要介紹了
数据结构之查找算法:散列查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
查找算法:散列查找
- 思維導圖:
- 散列函數和散列表:
- 構造散列函數的要求:
- 構造散列函數的方法:
- 直接定址法:
- 除留取余法:
- 數字分析法:
- 平方取中法:
- 折疊法:
- 解決沖突的方法:
- 開放定址法:
- 線性探測法:
- 平方探測法:
- 再散列法:
- 偽隨機法:
- 開放定址法的缺點:
- 拉鏈法:
- 查找方法:
- 查找效率:
思維導圖:
散列函數和散列表:
構造散列函數的要求:
構造散列函數的方法:
直接定址法:
除留取余法:
數字分析法:
平方取中法:
折疊法:
解決沖突的方法:
開放定址法:
線性探測法:
ps:
1、取余之后若該位置已經存儲了關鍵字,就尋找存儲單元的下一個單元;若下一個單元也存儲到了關鍵字,在尋找它的下一個單元,直到找到可以存儲單元為空的地址。
2、查找操作時,若查找的關鍵字不等于當前存儲單元的關鍵字,就查找它的下一個單元,直到找到為止
3、若要查找的關鍵字不存在,就會找到一個空的地址
缺點:會產生堆積現象,大部分的關鍵字都未存儲在原來的存儲位置上。如上圖
平方探測法:
線性表表長的要求:4K+3的素數,目的為了避免查重
再散列法:
偽隨機法:
開放定址法的缺點:
解決方法:對刪除的位置進行標記
拉鏈法:
查找方法:
查找效率:
散列表越慢,平均查找查長度越長,沖突越大
總結
以上是生活随笔為你收集整理的数据结构之查找算法:散列查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构之图的遍历:深度优先遍历(DFS
- 下一篇: 计算机网络之网络层:11、移动IP