Computer >> Máy Tính >  >> Lập trình >> Lập trình

Băm bất đối xứng trong cấu trúc dữ liệu


Trong phần này, chúng ta sẽ xem kỹ thuật Bắn bất đối xứng là gì. Trong kỹ thuật này, bảng băm được chia thành d số khối. Mỗi lần chia có độ dài n / d. Giá trị thăm dò xi, 0 ≤ i ≤ d, được rút ra đồng nhất từ ​​$$ \ lbrace \ frac {i * n} {d}, ..., \ frac {(i + 1) * n} {d-1} \ rbrace $$. Cũng như băm nhiều lựa chọn, để chèn x, thuật toán kiểm tra độ dài của danh sách A [x 0 ], A [x 1 ],. . ., A [x d - 1 ]. Sau đó, nối x vào điểm ngắn nhất trong số các danh sách này. Nếu có sự ràng buộc, thì nó sẽ chèn x vào danh sách có chỉ số nhỏ nhất.

Theo Vocking, độ dài dự kiến ​​của danh sách dài nhất cho phép băm bất đối xứng là -

$$ E [W] \ leq \ frac {ln \:ln \:n} {d \:ln \:\ phi_ {2}} + O (1) $$

Hàm 𝜙 𝑑 là tổng quát của tỷ lệ vàng, vì vậy $$ \ phi_ {2} =\ frac {(1+ \ sqrt {5})} {2} $$