Please enable JavaScript.
Coggle requires JavaScript to display documents.
Hashing (選擇與分析 (鍵值長度 (長鍵值用folding較法快), 動態靜態, 定址時間, 鍵值基數, 位址空間大小, 存取的頻率),…
Hashing
選擇與分析
動態靜態
定址時間
鍵值長度
長鍵值用folding較法快
鍵值基數
位址空間大小
存取的頻率
hash function
hash table
bucket
slot
溢位
無空位
可以有好幾個
碰撞
s=1
不同的key對應同一個bucket
就是位址
轉換key to address
設計
速度快
碰撞少
轉成數字最好
均勻分佈
取得方式
除法
h = k mod m
m質數
平方取中
h = k * k 取中間的數字
Folding
643180321
(643+180+321) % 1001
Extraction
70192387
取右1、3、4
237
Mutiplication
h = m(kA mod1) + 1
m很好取
0<a<1
Radix
k=530476
(530476)11 = (849745)10
取後三位得745
Digit Analysis
選分佈最均勻的位數
碰撞的處理
Probing
尋找下一個slot
Linear Probing
Linear Open Addressing
環狀
繞完一圈找不到位置就是滿了
插入 時
填到下一個位址
搜尋時
找不到就再找下一個
(h(k)+i) mod m, 0 <= i <= m-1
Quadratic Probing
h(k+i 2) mod m, 1 <= i <= (m-1)
Rehashing
一系列的hash function
LInked List
定義
key --> hash function --> address
溢位的處理
加大表格