Bài giảng Cấu trúc dữ liệu: Chương 8 - Nguyễn Xuân Vinh
Số trang: 38
Loại file: pptx
Dung lượng: 221.22 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 4 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 - 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,...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu: Chương 8 - Nguyễn Xuân VinhGV: NGUYỄN XUÂN VINH CẤU TRÚC DỮ LIỆU DATA STRUCTURES [214331] HASH TABLEMÔN: CẤU TRÚC DỮ LIỆU Nguyễn Xuân Vinh nguyenxuanvinh@hcmuaf.edu.6/12/14 vn/XX1GV: NGUYỄN XUÂN VINH 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ảoMÔN: CẤU TRÚC DỮ LIỆU • 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 example6/12/14 •/XX 22GV: NGUYỄN XUÂN VINH Giới thiệuMÔN: CẤU TRÚC DỮ LIỆU Tất cả các thao tác phải so sánh khoá!!!6/12/14 Khắc/XX 3 phục?3GV: NGUYỄN XUÂN VINH 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óaMÔN: CẤU TRÚC DỮ LIỆU • Tìm cách thức thực hiện một cách hiệu quả?6/12/14/XX 44GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm kiếm: tuần tự chậm O(n)6/12/14/XX 55GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm: nhị phân, nhanh O(logn)6/12/14/XX 66GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm kiếm: tìm kiếm tuần tự O(n)6/12/14/XX 77GV: NGUYỄN XUÂN VINH 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 tableMÔN: CẤU TRÚC DỮ LIỆU6/12/14/XX 88GV: NGUYỄN XUÂN VINH Array as table ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu: Chương 8 - Nguyễn Xuân VinhGV: NGUYỄN XUÂN VINH CẤU TRÚC DỮ LIỆU DATA STRUCTURES [214331] HASH TABLEMÔN: CẤU TRÚC DỮ LIỆU Nguyễn Xuân Vinh nguyenxuanvinh@hcmuaf.edu.6/12/14 vn/XX1GV: NGUYỄN XUÂN VINH 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ảoMÔN: CẤU TRÚC DỮ LIỆU • 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 example6/12/14 •/XX 22GV: NGUYỄN XUÂN VINH Giới thiệuMÔN: CẤU TRÚC DỮ LIỆU Tất cả các thao tác phải so sánh khoá!!!6/12/14 Khắc/XX 3 phục?3GV: NGUYỄN XUÂN VINH 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óaMÔN: CẤU TRÚC DỮ LIỆU • Tìm cách thức thực hiện một cách hiệu quả?6/12/14/XX 44GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm kiếm: tuần tự chậm O(n)6/12/14/XX 55GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm: nhị phân, nhanh O(logn)6/12/14/XX 66GV: NGUYỄN XUÂN VINH 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)MÔN: CẤU TRÚC DỮ LIỆU – Tìm kiếm: tìm kiếm tuần tự O(n)6/12/14/XX 77GV: NGUYỄN XUÂN VINH 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 tableMÔN: CẤU TRÚC DỮ LIỆU6/12/14/XX 88GV: NGUYỄN XUÂN VINH Array as table ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Cấu trúc dữ liệu Chương 8 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ămGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 318 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 162 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 150 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 124 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Một số mô hình thuật toán
42 trang 74 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 73 0 0 -
49 trang 71 0 0