Bảng Băm Với Phương Pháp Dò Bậc Hai Mơ Tả: - Tài Liệu Text - 123doc
Có thể bạn quan tâm
- Trang chủ >
- Công Nghệ Thông Tin >
- Kỹ thuật lập trình >
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (178.95 KB, 16 trang )
Hình thể hiện thêm các nut 32, 53, 22, 92, 17, 34, 24, 37, 56 vào bảng băm. 0 NULL 0 NULL 0 NULL 0 NULL 0 561 NULL 1 NULL 1 NULL 1 NULL 1 NULL 2 322 32 2 322 32 2 323 53 3 533 53 3 533 53 4 NULL 4 224 22 4 224 22 5 NULL 5 925 92 5 925 92 6 NULL 6 NULL 6 346 34 6 347 NULL 7 NULL 7 17 7 177 17 8 NULL 8 NULL 8 NULL 8 248 24 9 NULL 9 NULL 9 NULL 9 379 37Khai báo cấu trúc bảng băm: define NULLKEY –1define M 100 struct node{ int key; khoa cua nut tren bang bam}; struct node hashtable[M]; Khai bao bang bam co M nutCài đặt bảng băm dùng phương pháp dò tuyến tính:
2.4.4. Bảng băm với phương pháp dò bậc hai Mô tả:
12- Bảng băm trong trường hợp này được cài đặt bằng danh sách kề có M phần tử, mỗi phần tử của bảng băm là một mẫu tin có một trường key để chứa khóa cácphần tử.- Khi khởi động bảng băm thì tất cả trường key bị gán NULLKEY.Khi thêm phần tử có khóa key vào bảng băm, hàm băm hkey sẽ xác định địa chỉ i trong khoảng từ 0 đến M-1.· Nếu chưa bị xung đột thì thêm phần tử mới vào địa chỉ i này. · Nếu bị xung đột thì hàm băm lại lần 1 h1 sẽ xét địa chỉ cách i là 12, nếu lại bị xung đột thì hàm băm lại lần 2 h2 sẽ xét địa chỉ cách i 22,… , quá trình cứ thế cho đến khi nào tìm được trống và thêm phần tử vào địa chỉ này.- Khi tìm kiếm một phần tử có khóa key trong bảng băm thì xét phần tử tại địa chỉ i=fkey, nếu chưa tìm thấy thì xét phần tử cách i 12, 22, …, quá trình cứ thế cho đến khi tìm được khóa trường hợp tìm thấy hoặc rơi vào địa chỉ trống trườnghợp khơng tìm thấy.- Hàm băm lại lần thứ i được biểu diễn bằng công thức sau: fikey= fkey + i2M với fkey là hàm băm chính của bảng băm.Nếu đã dò đến cuối bảng thì trở về dò lại từ đầu bảng. Bảng băm minh họa có cấu trúc như sau:- Tập khóa K: tập số tự nhiên - Tập địa chỉ M: gồm 10 địa chỉ M={0, 1, …, 9}- Hàm băm fkey = key 10.Khai báo cấu trúc bảng băm: define NULLKEY –1define M 101M la so nut co tren bang bam,du de chua cac nut nhap vao bang bam,chon M la so nguyen to13Khai bao nut cua bang bam struct node{ int key; Khoa cua nut tren bang bam}; Khai bao bang bam co M nutstruct node hashtable[M]; int N;Cài đặt bảng băm dùng phương pháp dò bậc hai: Hàm băm: Giả sử chúng ta chọn hàm băm dạng: fkey=key 10.int hashfuncint key {returnkey 10; }Phép toán initializevoid initialize {int i; fori=0; iM;i++ hashtable[i].key = NULLKEY;N=0; so nut hien co khoi dong bang 0 }Phép toán empty:int empty {returnN ==0 ?TRUE :FALSE; }Phép toán full: int full{14returnN = = M-1 ?TRUE :FALSE; }Phép tốn search:Tìm phần tử có khóa k trên bảng băm,nếu khơng tìm thấy hàm này trả về trị M, nếu tìm thấy hàm này trả về địa chỉ tìm thấy.int searchint k {int i, d; i = hashfunsk;d = 1; whilehashtable[i].key=khashtable[i].key =NULLKEY{ Bam lai theo phuong phap bac haii = i+d M; d = d+2;} hashtable[i].key =k; N = N+1;returni; }2.4.5. Bảng băm với phương pháp băm kép Mô tả:
Xem ThêmTài liệu liên quan
- BẢNG BĂM (HASH TABLE)
- 16
- 3,341
- 21
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(123 KB) - BẢNG BĂM (HASH TABLE)-16 (trang) Tải bản đầy đủ ngay ×Từ khóa » Dò Bậc 2
-
2. Bảng Băm - Phương Pháp Dò Tuyến Tính , Dò Bậc 2 - YouTube
-
4. Lập Trình Bảng Băm Theo Phương Pháp Dò Bậc 2 ... - YouTube
-
Có Ai Biết Phương Pháp Dò Bậc 2 Là J Ko Vậy?
-
Cấu Trúc Dữ Liệu - Chương 2: Bảng Băm (hash Table)
-
2. Bảng Băm - Phương Pháp Dò Tuyến Tính , Dò Bậc 2| Thuật Toán Tìm ...
-
2. Bảng Băm - Phương Pháp Dò Tuyến Tính , Dò Bậc 2 - I Công Nghệ
-
[PDF] Khái Quát Về Băm Hàm Băm Sự đụng độ Các Phương Pháp Giải ...
-
Bảng Băm Và Các Cơ Chế Giải Quyết Xung đột Cơ Bản — Hashing And ...
-
Bảng Băm Trong C++ - TopDev
-
Bảng Băm(Hash Table) | Cài đặt Bảng Băm Và Kỹ Thuật Xử Lý Va Chạm
-
Hash Và Chiến Lược Tìm Kiếm | Artificial Intelligence Kiosk - Omarine
-
Thăm Dò Tuyến Tính - Wikimedia Tiếng Việt
-
Băm Kép - Wikimedia Tiếng Việt