tailieunhanh - CHƯƠNG 9: BẢNG BĂM

Trong chương này, chúng ta sẽ nghiên cứu bảng băm. Bảng băm là cấu trúc dữ liệu được sử dụng để cài đặt KDLTT từ điển. Nhớ lại rằng, KDLTT từ điển là một tập các đối tượng dữ liệu được xem xét đến chỉ với ba phép toán tìm kiếm, xen vào và loại bỏ. Đương nhiên là chúng ta có thể cài đặt từ điển bởi danh sách, hoặc bởi cây tìm kiếm nhị phân. | Để loại dữ liệu với khoá k, trước hết chúng ta cần áp dụng thủ tục tìm kiếm đã trình bày ở trên để định vị dữ liệu ở trong mảng. Giả sử dữ liệu được lưu trong mảng tại vị trí p. Loại dữ liệu ở vị trí p bằng cách nào? Nếu đặt vị trí p là vị trí trống, thì khi tìm kiếm nếu thăm dò gặp vị trí trống ta không thể dừng và đưa ra kết luận dữ liệu không có trong mảng. Chẳng hạn, trong mảng hình , ta loại dữ liệu 388 bằng cách xem vị trí 3 là trống, sau đó ta tìm dữ liệu 926, vì h (926) = 2 và T[2] không chứa 926, tìm đến vị trí 3 là trống, nhưng ta không thể kết luận 926 không có trong mảng. Thực tế 926 ở vị trí 5, vì lúc đưa 926 vào mảng các vị trí 2, 3, 4 đã bị chiếm. Vì vậy để đảm bảo thủ tục tìm kiếm đã trình bày ở trên vẫn còn đúng cho trường hợp đã thực hiện phép toán loại, khi loại dữ liệu ở vị trí p chúng ta đặt vị trí p là vị trí đã loại bỏ. Như vậy, chúng ta quan niệm mỗi vị trí i trong mảng (0 <= i <= SIZE-1) có thể là vị trí trống (EMPTY), vị trí đã loại bỏ (DELETED), hoặc vị trí chứa dữ liệu (ACTIVE). Đương nhiên là khi xen vào dữ liệu mới, chúng ta có thể đặt nó vào vị trí đã loại bỏ.

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.