1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BT BẢNG băm

4 45 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 878,77 KB

Nội dung

1 DANH SÁCH LIÊN KẾT ĐƠN Định nghĩa: Mỗi phần tử liên kết với phần tử đứng liền sau danh sách Mỗi phần tử danh sách liên kết đơn cấu trúc có hai thành phần: +Thành phần liệu: Lưu trữ thông tin thân phần tử + Thành phần liên kết: Lưu địa phần tử đứng sau danh sách NULL phần tử cuối danh sách Tổ chức liệu Mỗi phần tử DSLK đơn (gọi node hay nút) gồm biến lưu liệu bạn biến trỏ lưu địa phần tử Các phần tử liên kết với dựa vào trỏ Con trỏ trỏ đến phần tử đầu danh sách cuối danh sách: Các phương pháp giải đụng độ cấu trúc bảng băm: Phương pháp nối kết: + nối kết trực tiếp + nối kết hợp Phương pháp băm lại: + dò bậc hai + băm kép VD1: Nối kết trực tiếp H(K) = k%a 1/cho bảng A kích thước 11 tập khố K= {7, 20, 16, 24, 12, 40, 15} Ta cần nạp giá trị khoá K vào bảng A sử dụng hàm băm: H(k)= k%11 Hãy vẽ bảng A, sử dụng kỹ thuật danh sách liên kết để xử lý xung đột Kỹ thuật danh sách liên kết => Nối kết trực tiếp (nếu kêu trình bày chi tiết) H = k%11 - Thêm Thêm Thêm Thêm Thêm Thêm Thêm 7: H(7) = 7%11 = => Thêm vào hàng 20: H(20) = 20%11 =9 => thêm 20 vào hàng 16: H(16) = 16%11 = => thêm 16 vào hàng 24: H(24) = 24%11 =2 => thêm 24 vào hàng 12: H(12) = 12%11 =1 => thêm 12 vào hàng 40: H(40) = 40%11=7 => thêm 40 vào hàng 7, sau 15: H(15) = 15%11 = => thêm vào hàng VD2: Dò tuyến tính (băm lại) Ví dụ: 11 ơ, khố K ={ 30, 10, 56, 14, 22, 60, 15} H(X,i) = (H(X) + f(i) ) % M H(k) = k%7, dùng kỹ thuật Dò tuyến tính … M kích thước bảng băm 11 M = 11 Thêm 30: H(30) = 30%7 = => thêm 30 vào ô Thêm 10: H(10) = 10%7 = => thêm 30 vào ô Thêm 56: H(56) = 56%7 = =) thêm 56 vào ô Thêm 14: H(14) = 14%7 = => xung đột với 56 H(14,1) = (0 + 1) %11 = => thêm 14 vào ô - Thêm 22: H(22) = 22%11 = => xung đột với 14 H(22,1) = (1+ 1)%11 = => xung đột với 30 H(22,2) = (2 + 1) % 11 = => xung đột với 10 H(22,30) = (3 +1)% 11 = => thêm 22 vào ô - Thêm 60: H(60) = 60%7 = => xung đột với 22 H(60,1) = ( 4+ 1) % 11 = => thêm 60 vào ô - Thêm 15: H(15) = 15%7 = => trùng 14 - ………… H(15, 5) = (5+ 1) % 11 = => thêm 15 vào ô ...1/cho bảng A kích thước 11 tập khố K= {7, 20, 16, 24, 12, 40, 15} Ta cần nạp giá trị khoá K vào bảng A sử dụng hàm băm: H(k)= k%11 Hãy vẽ bảng A, sử dụng kỹ thuật danh... hàng VD2: Dò tuyến tính (băm lại) Ví dụ: 11 ơ, khoá K ={ 30, 10, 56, 14, 22, 60, 15} H(X,i) = (H(X) + f(i) ) % M H(k) = k%7, dùng kỹ thuật Dò tuyến tính … M kích thước bảng băm 11 M = 11 Thêm 30:

Ngày đăng: 25/10/2019, 11:14

TỪ KHÓA LIÊN QUAN

w