Slide 1 Giảng viên ThS Đậu Ngọc Hà Dương – ĐH KHTN HCM ÔN TẬP KIẾN THỨC Cấu trúc dữ liệu và giải thuật 1 Nội dung ôn tập Cấu trúc dữ liệu và giải thuật HCMUS 2 Đánh giá thuật toán DSLK – Stack Queue C[.]
Cấu trúc liệu giải thuật ÔN TẬP KIẾN THỨC Giảng viên: ThS Đậu Ngọc Hà Dương – ĐH KHTN HCM Nội dung ôn tập 2 Đánh giá thuật toán DSLK – Stack - Queue Cấu trúc cây: nhị phân tìm kiếm, AVL Các thuật toán xếp Các chiến lược tìm kiếm Đối sánh chuỗi Nén liệu Cấu trúc liệu giải thuật - HCMUS Nội dung mơn học Cái khái niệm • Kiểu liệu: bản, có cấu trúc, trừu tượng • Đánh giá thuật tốn • Ơn tập: Con trỏ, Đệ qui Các cấu trúc liệu bản: • Danh sách liên kết • Ngăn xếp • Hàng đợi Cấu trúc liệu giải thuật - HCMUS Nội dung mơn học Cấu trúc cây: • Cây tổng qt • Cây nhị phân tìm kiếm • Cây nhị phân tìm kiếm tự cân bằng: AVL Các thuật tốn xếp: • Selection Sort, Insertion Sort, Bubble Sort • Heap Sort, Quick Sort, Merge Sort Cấu trúc liệu giải thuật - HCMUS Nội dung môn học Các chiến lược tìm kiếm: • Tìm kiếm • Tìm kiếm nhị phân • Bảng băm phương pháp xử lý đụng độ Đối sánh chuỗi: • Brute force • Morris-Pratt, Knuth-Morris-Pratt Cấu trúc liệu giải thuật - HCMUS Nội dung môn học Nén liệu: • Tổng quan mã hóa (nén) • Nén Huffman tĩnh • Đọc thêm: Nén Run-Length Encoding, Nén Huffman động Cấu trúc liệu giải thuật - HCMUS Ngơn ngữ lập trình Cấu trúc liệu giải thuật - HCMUS Ngơn ngữ lập trình George Boole Cấu trúc liệu giải thuật - HCMUS Ngơn ngữ lập trình Alan Turing Cấu trúc liệu giải thuật - HCMUS Ngôn ngữ lập trình 10 Von Neumann Cấu trúc liệu giải thuật - HCMUS Thế thuật toán? 11 An algorithm is a sequence of steps required to accomplish a task (Al-Khwārizmī) Thuật toán tập hợp hữu hạn lệnh xác để thực tính tốn để giải toán (Rosen) Al-Khwārizmī Cấu trúc liệu giải thuật - HCMUS 12 Thuật toán – Các giai đoạn thực Nhập liệu Cấu trúc liệu giải thuật - HCMUS Xử lý Xuất liệu 13 Thuật toán – Phương pháp biểu diễn Lưu đồ Ngơn ngữ lập trình Biểu diễn Mã giả Cấu trúc liệu giải thuật - HCMUS Bảng định Ví dụ lưu đồ 14 Bắt đầu Nhập vào số nguyên Tính tổng số Hiển thị kết Kết thúc Cấu trúc liệu giải thuật - HCMUS Ví dụ bảng định 15 Luật Điều kiện Máy in không in C C C C K K K K Đèn lỗi báo sáng C C K K C C K K Máy in không nhận biết C K C K C K C K Kiểm tra cáp nguồn Kiểm tra cáp nối máy tinh – máy in Hành động Kiểm tra driver Kiểm tra/thay mực Kiểm tra khe để giấy Cấu trúc liệu giải thuật - HCMUS X X X X X X X X X X X X X Thế cấu trúc liệu? 16 Cấu trúc liệu cách tổ chức liệu thành đơn vị hoàn chỉnh bao gồm thành phần (phần tử) liệu bản, mối liên kết phần tử thao tác chúng Các thao tác thường gọi phép toán cấu trúc liệu xác định Các phép toán thường gặp tạo lập (create), hủy (dipose), thêm (add), chèn (insert), xóa (delete), tìm kiếm (search), Tùy theo yêu cầu thuật toán, thiết kế chương trình người ta định nghĩa sử dụng cấu trúc liệu khác Các cấu trúc liệu hay dùng là: mảng (array), danh sách (list), ngăn xếp (stack), hàng đợi (queue), cây(tree), [Wikipedia, tháng - 2009] Cấu trúc liệu giải thuật - HCMUS Tóm tắt 17 Cấu trúc liệu Cấu trúc liệu giải thuật - HCMUS Giải thuật Chương trình Mở rộng 18 Programming is for programmers [C++ in Action] Cấu trúc liệu giải thuật - HCMUS 19 Hỏi Đáp Cấu trúc liệu giải thuật - HCMUS ... 17 Cấu trúc liệu Cấu trúc liệu giải thuật - HCMUS Giải thuật Chương trình Mở rộng 18 Programming is for programmers [C++ in Action] Cấu trúc liệu giải thuật - HCMUS 19 Hỏi Đáp Cấu trúc liệu giải. .. thực tính tốn để giải toán (Rosen) Al-Khwārizmī Cấu trúc liệu giải thuật - HCMUS 12 Thuật toán – Các giai đoạn thực Nhập liệu Cấu trúc liệu giải thuật - HCMUS Xử lý Xuất liệu 13 Thuật toán – Phương... HCMUS Ngôn ngữ lập trình Cấu trúc liệu giải thuật - HCMUS Ngơn ngữ lập trình George Boole Cấu trúc liệu giải thuật - HCMUS Ngôn ngữ lập trình Alan Turing Cấu trúc liệu giải thuật - HCMUS Ngơn ngữ