Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Phương pháp Brent trong cấu trúc dữ liệu


Xem phương pháp Brent liên quan đến open addressing hashing. Đây là heuristic nhằm giảm thiểu thời gian trung bình tìm kiếm thành công trong bảng băm.

Phương pháp ban đầu áp dụng cho double hashing, nhưng dùng được cho linear/quadratic probing. Tuổi (age) của phần tử x trong open addressing là giá trị i nhỏ nhất sao cho x đặt tại A[xi].

Brent's Method cố gắng giảm tổng tuổi của tất cả phần tử. Khi chèn x: tìm i nhỏ nhất sao cho A[xi] rỗng (nơi open addressing chuẩn chèn). Xét phần tử y tại A[xi-2]. y đặt đó vì yj = xi-2 (j ≥ 0). Kiểm tra A[yj+1] rỗng, nếu rỗng thì di chuyển y đến A[yj+1], đặt x tại A[xi-2].

So với open addressing chuẩn, giảm tổng tuổi đi 1. Tổng quát, Brent kiểm tra với mỗi 2 ≤ k ≤ i, ô A[xi-k] xem phần tử y có thể di chuyển đến A[yj+1]…A[yj+k-1] để nhường chỗ cho x.