Đang chuẩn bị liên kết để tải về tài liệu:
Bài giảng Cấu trúc dữ liệu: Chương 8 - Nguyễn Xuân Vinh

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

Bài giảng Cấu trúc dữ liệu - Chương 8: Hash table trình bày các vấn đề cơ bản với arrays list, linked list, bảng băm "hoàn hảo", hàm băm hoàn hảo, phương pháp xây dựng hàm băm, ưu điểm của bảng băm, các cách giải quyết xung đột, các bảng băm phổ biến,. | HASH TABLE Nguyễn Xuân Vinh nguyenxuanvinh@hcmuaf.edu.vn CẤU TRÚC DỮ LIỆU DATA STRUCTURES [214331] 2 Nội dung Giới thiệu Các vấn đề cơ bản với ArrayList, Linked List Bảng băm “hoàn hảo” Hàm băm hoàn hảo Phương pháp xây dựng hàm băm Ưu điểm của bảng băm Các cách giải quyết xung đột (collision) Các bảng băm phổ biến (đọc them) Java Map Interface Map implementations in Java HashMap example 3 Giới thiệu Tất cả các thao tác phải so sánh khoá!!! Khắc phục? 4 Vấn đề cơ bản Bài toán: cần lưu trữ các mẫu tin và thực hiện các thao tác Thêm mẫu tin Xoá mẫu tin Tìm mẫu tin theo khóa Tìm cách thức thực hiện một cách hiệu quả? 5 Vấn đề cơ bản Unsorted array Sử dụng mảng để lưu mẫu tin, không có thứ tự Thêm: thêm cuối nhanh O(1) Xoá: chậm do tìm rồi xoá O(n) Tìm kiếm: tuần tự chậm O(n) 6 Vấn đề cơ bản Sorted array Sử dụng mảng lưu trữ mẫu tin, có thứ tự Thêm: chèn vào đúng vị trí, chậm O(n) Xoá: phải dời các phần tử phía sau, chậm O(n) Tìm: nhị phân, nhanh O(logn) 7 Vấn đề cơ bản Linked list Lưu trữ | HASH TABLE Nguyễn Xuân Vinh nguyenxuanvinh@hcmuaf.edu.vn CẤU TRÚC DỮ LIỆU DATA STRUCTURES [214331] 2 Nội dung Giới thiệu Các vấn đề cơ bản với ArrayList, Linked List Bảng băm “hoàn hảo” Hàm băm hoàn hảo Phương pháp xây dựng hàm băm Ưu điểm của bảng băm Các cách giải quyết xung đột (collision) Các bảng băm phổ biến (đọc them) Java Map Interface Map implementations in Java HashMap example 3 Giới thiệu Tất cả các thao tác phải so sánh khoá!!! Khắc phục? 4 Vấn đề cơ bản Bài toán: cần lưu trữ các mẫu tin và thực hiện các thao tác Thêm mẫu tin Xoá mẫu tin Tìm mẫu tin theo khóa Tìm cách thức thực hiện một cách hiệu quả? 5 Vấn đề cơ bản Unsorted array Sử dụng mảng để lưu mẫu tin, không có thứ tự Thêm: thêm cuối nhanh O(1) Xoá: chậm do tìm rồi xoá O(n) Tìm kiếm: tuần tự chậm O(n) 6 Vấn đề cơ bản Sorted array Sử dụng mảng lưu trữ mẫu tin, có thứ tự Thêm: chèn vào đúng vị trí, chậm O(n) Xoá: phải dời các phần tử phía sau, chậm O(n) Tìm: nhị phân, nhanh O(logn) 7 Vấn đề cơ bản Linked list Lưu trữ mẫu tin trong danh sách liên kết Thêm: nhanh, O(1) Xoá: nhanh khi xoá nút, chậm khi tìm O(n) Tìm kiếm: tìm kiếm tuần tự O(n) 8 Vấn đề cơ bản Cấu trúc dữ liệu phức tạp hơn, nhưng thực thi tốt hơn Tree BST Hash table Array as table 9903030 9802020 9801010 0056789 0012345 0033333 Thao Minh Phuong Danh An Binh 7.3 10.0 2.0 5.68 8.15 90 9908080 Tung 4.9 . . Vấn đề: lưu trữ 10,000,000 mẫu tin sinh viên và tìm kiếm theo mã số sinh viên. 10 Array as table : 33333 : 12345 0 : : Binh : An : : 9.0 : 8.15 : 56789 Danh 5.68 : 9908080 : : : Tung : : : 4.9 : : 9999999 Một cách “stupid” là lưu trữ mẫu tin trong mảng cực lớn 09999999 Index được sử dụng như là mã số sinh viên. Khi đó mẫu tin sv với ms 0012345 được lưu trữ ở A[12345]! 11 Array as table Dạng bảng băm với địa chỉ trực tiếp Mỗi vị trí tương ứng một khoá trong U Nếu 1 phần tử x có khoá k, thì T[k] chứa tham chiếu đến x Ngược lại T[k] = Ø được thể hiện là null U (universe of key) K (actual keys) 2 3 5 6 4 1 7 9 8 0 - - - - - - 0 1 2 3

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.