Danh mục

Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 5: Bảng băm

Số trang: 6      Loại file: pdf      Dung lượng: 304.83 KB      Lượt xem: 12      Lượt tải: 0    
Thư Viện Số

Hỗ trợ phí lưu trữ khi tải xuống: 1,000 VND Tải xuống file đầy đủ (6 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 5: Bảng băm" cung cấp cho người học các kiến thức: Bảng băm mở (Bảng băm, hàm băm, xung đột, một số hàm băm thông dụng), bảng băm đóng (Băm lại tuyến tính, băm lại bình phương, băm lại bằng cách tạo vùng mới). Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 5: Bảng băm 26/03/12CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CHƢƠNG V: BẢNG BĂM 1. Bảng băm mở 1.1. Bảng băm 1.2. Hàm băm 1.3. Xung đột 1.4. Một số hàm băm thông dụng 2. Bảng băm đóng 2.1. Băm lại tuyến tính. 2.2. Băm lại bình phương 2.3. Băm lại bằng cách tạo vùng mới 1 26/03/121. Bảng băm mở 1. Bảng băm mở Hash Tables - Structure Bảng băm (Hash Table): • Simplest case:- Mảng B gồm m phần tử • Assume items have integer keys in the range 1 .. m • Use the value of the key itself -Lưu trữ chỉ số định vị phần tử dữ liệu có khóa to select a slot in a direct access table phân biệt thuộc tập số nguyên { 0,1,2…m-1} in which to store the item • To search for an item with key, k, just look in slot k • If there’s an item there, you’ve found it • If the tag is 0, it’s missing. • Constant time, O(1)1. Bảng băm mở 1. Bảng băm mở Hash Tables - Relaxing the constraints  Hàm băm • Keys are integers (Hash function): • Need a hash function h( key )  integer H(x) cho giá trị là một chỉ số phần tử của B ie one that maps a key to an integer • Applying this function to the key produces an address • If h maps each key to a unique integer in the range 0 .. m-1 then search is O(1) 2 26/03/121. Bảng băm mở 1. Bảng băm mở Xung đột (collision): Xung đột: Tables - Hash Collision handling – x1x2 nhưng H(x1)=H(x2) • Collisions • Occur when the hash function maps two different keys to the same address • The table must be able to recognise and resolve this • Recognise • Store the actual key with the item in the hash table • Compute the address • k = h( key ) • Check for a hit • if ( table[k].key == key ) then hit else try next entry We’ll look at various • Resolution “try next entry” schemes • Variety of techniques1. Bảng băm mở 1. Bảng băm mởXung đột: Hash Tables - Linked lists Giải quyết: • Collisions - Resolution  Linked list attached – liên kết các danh sách có các khóa khác to each primary table slot nhau nhưng có cùng giá trị hàm băm • h(i) == h(i1) • h(k) == h(k1) == h(k2) thành một danh sách • Searching for i1 ...

Tài liệu được xem nhiều:

Tài liệu liên quan: