TAILIEUCHUNG - Cấu trúc dữ liệu nâng cao P3

BẢNG BĂM (HASH TABLE) | Bài 3 BẢNG BĂM HASH TABLE Phép băm được đề xuất và hiện thực trên máy tính từ những năm 50 của thế kỷ 20. Nó dựa trên ý tưởng biến đoi giá trị khóa thành một số xử lý băm và sử dụng số này để đánh chỉ cho bảng dữ liệu. Các phép toán trên các cấu trúc dữ liệu như danh sách cây nhị phân . phần lớn được thực hiện bằng cách so sánh các phần tử của cấu trúc do vậy thời gian truy xuất không nhanh và phụ thuộc vào kích thước của cấu trúc. Trong bài này chúng ta sẽ khảo sát một cấu trúc dữ liệu mới được gọi là bảng băm hash table . Các phép toán trên bảng băm sẽ giúp hạn chế số lần so sánh và vì vậy sẽ cố gắng giảm thiểu được thời gian truy xuất. Độ phức tạp của các phép toán trên bảng băm thường có bậc là 0 1 và không phụ thuộc vào kích thước của bảng băm. Các khái niệm chính trên cấu trúc bảng băm Phép băm hay hàm băm hash function Tập khoá của các phần tử trên bảng băm Tập địa chỉ trên bảng băm Phép toán thêm phần tử vào bảng băm Phép toán xoá một phần tử trên bảng băm Phép toán tìm kiếm trên bảng băm Thông thường bảng băm được sử dụng khi cần xử lý các bài toán có dữ liệu lớn và được lưu trữ ở bộ nhớ ngoài. 1 1. PHÉP BĂM Hash Function Định nghĩa Trong hầu hết các ứng dụng khoá được dùng như một phương thức để truy xuất dữ liệu. Hàm băm được dùng để ánh xạ giá trị khóa khoá vào một dãy các địa chỉ của bảng băm hình 1 . K ------- h I------------- h K Hình 1 Khóa có thể là dạng số hay số dạng chuỗi. Giả sử có 2 khóa phân biệt ki và kj nếu h ki h kj thì hàm băm bị đụng độ. Một hàm băm tốt phải thỏa mãn các điều kiện sau Tính toán nhanh. Các khoá được phân bố đều trong bảng. Ít xảy ra đụng độ. Xử lý được các loại khóa có kiểu dữ liệu khác nhau Hàm Băm sử dụng Phương pháp chia Dùng số dư h k k mod m k là khoá m là kích thước của bảng. Như vậy h k sẽ nhận 0 1 2 . . m-1. Việc chọn m sẽ ảnh hưởng đến h k . Nếu chọn m 2p thì giá trị của h k sẽ là p bit cuối cùng của k trong biểu diễn nhị phân. Nếu chọn m 10p thì giá trị của h k sẽ là p chữ số cuối cùng trong biểu diễn thập phân

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã 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.