1. Trang chủ
  2. » Giáo án - Bài giảng

slide Bài giảng môn cấu trúc dữ liệu 2: Chương 2

32 217 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

a khố nút Khi khởi động bảng băm tất trường key gán NULL Khi thêm nút có khố key vào bảng băm, hàm băm f(key) xác định địa i khoảng từ đến M-1: Null Null Null Null … Null M-1 Null 25 Sử dụng PP “Dò tuyến tính”  Thêm nut 32, 53, 22, 92, 17, 34, 24, 37, 56 vào bảng băm NULL NULL NULL NULL 56 NULL NULL NULL NULL NULL 32 32 32 32 32 53 53 53 53 53 NULL 22 22 22 22 NULL 92 92 92 92 NULL NULL 34 34 34 NULL NULL 17 17 17 NULL NULL NULL 24 24 NULL NULL NULL 37 269 37 Sử dụng PP “Dò tuyến tính” Hàm băm lại phương pháp dò tuyến tính truy xuất địa Hàm băm lại lần i biểu diên công thức sau:  f(key)=(f(key)+i) %M với f(key) hàm băm bảng băm  Lưu ý địa dò tìm địa dò đến cuối bảng Nhận xét:  Chúng ta thấy bảng băm tối ưu băm đều, tốc độ truy xuất lúc có bậc 0(1)  Trường hợp xấu băm không bảng băm đầy, lúc hình thành khối đặc có n nút tốc độ truy xuất lúc có bậc 0(n)  27 Ví dụ:  chèn dãy: 16 13 24 vào bảng băm có 11 vị trí 28 Sử dụng PP “Dò bậc hai”    Bảng băm dùng phương pháp dò tuyến tính bị hạn chế rải nút không đều,bảng băm với phương pháp dò bậc hai rải nút Hàm băm lại phương pháp dò bậc hai truy xuất địa cách bậc Hàm băm lại hàm fi biểu diễn công thức sau:  fi(key)=( f(key) + i2 ) % M với f(key) hàm băm bảng băm Nếu dò đến cuối bảng trở dò lại từ đầu bảng Bảng băm với phương pháp dò bậc hai nên chọn số địa M số nguyên tố    29 Ví dụ:   Cho hàm băm chính: F(k) = k mod 5, sử dụng PP “dò bậc hai” f(key)=(f(key) + i2) % M Thêm 6, 16 vào bảng băm sau: NULL 21 NULL 16 21 NULL 18 18 NULL NULL 30 Thêm vào khóa 10, 15, 16, 20, 30, 25, ,26, 36 10 10 10 10 10 NULL 20 20 20 20 NULL NULL NULL NULL 36 NULL NULL NULL NULL NULL NULL NULL 30 30 30 15 15 15 15 15 16 16 16 16 16 NULL NULL NULL 26 26 NULL NULL NULL NULL NULL NULL NULL 25 25 319 25 Sử dụng PP “Băm kép”  Ta sử dụng hàm băm: f1(key)= key % M f2(key)= (M–2) – key % (M-2) 32 ... tính”  Thêm nut 32, 53, 22 , 92, 17, 34, 24 , 37, 56 vào bảng băm NULL NULL NULL NULL 56 NULL NULL NULL NULL NULL 32 32 32 32 32 53 53 53 53 53 NULL 22 22 22 22 NULL 92 92 92 92 NULL NULL 34 34... f(key)=(f(key) + i2) % M Thêm 6, 16 vào bảng băm sau: NULL 21 NULL 16 21 NULL 18 18 NULL NULL 30 Thêm vào khóa 10, 15, 16, 20 , 30, 25 , ,26 , 36 10 10 10 10 10 NULL 20 20 20 20 NULL NULL NULL NULL... 16 16 16 NULL NULL NULL 26 26 NULL NULL NULL NULL NULL NULL NULL 25 25 319 25 Sử dụng PP “Băm kép”  Ta sử dụng hàm băm: f1(key)= key % M f2(key)= (M 2) – key % (M -2) 32

Ngày đăng: 08/06/2018, 12:26

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    Giới thiệu về Bảng Băm

    Hàm băm (Hash functions)

    Mô tả dữ liệu

    Ưu điểm bảng băm

    CÁCH XÂY DỰNG BẢNG BĂM

    Ví dụ một bảng băm đơn giản

    Tìm kiếm trên bảng băm

    Các phép toán trên hàm băm

    Vấn đề nảy sinh

    Vấn đề xung đột khi xử lý bảng băm

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w