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

Băm với địa chỉ mở trong cấu trúc dữ liệu


Trong phần này, chúng ta sẽ xem băm bằng cách định địa chỉ mở là gì. Định địa chỉ mở là một kỹ thuật khác để giải quyết xung đột. Không giống như chuỗi, nó không chèn các phần tử vào một số cấu trúc dữ liệu khác. Nó chèn dữ liệu vào chính bảng băm. Kích thước của bảng băm phải lớn hơn số lượng khóa.

Có ba phương pháp phổ biến khác nhau cho các kỹ thuật địa chỉ mở. Các phương pháp này -

  • Đo tuyến tính

  • Đo lường bậc hai

  • Băm kép

Trong kỹ thuật này, chúng tôi sử dụng một hàm băm giống như các kỹ thuật băm khác. Nếu địa điểm miễn phí, thì hãy chèn phần tử vào vị trí đó. Bây giờ nếu nơi đó không rảnh, chúng ta sẽ tìm một phần tử miễn phí khác bằng cách sử dụng một số phương trình. Đối với thăm dò tuyến tính, chúng tôi sẽ sử dụng một số phương trình tuyến tính, đối với khảo sát bậc hai, chúng tôi sẽ sử dụng một số phương trình bậc hai.

Trong hàm băm kép, khi xảy ra va chạm, chúng ta sẽ sử dụng một hàm băm khác, sau đó đưa vào vị trí đó. Hàm băm đó được gọi là hàm băm thứ cấp. Điều đó sẽ không được sử dụng trực tiếp, nếu không có va chạm.