Data Structures and Algorithms Introduction (Giới thiệu về Cấu trúc dữ liệu và thuật toán) - PGS.TS.Nguyễn Đức Nghĩa

UN
Uni24h
0 downloads
17
0

Document content

Page 2

NỘI DUNG • Mục đích, yêu cầu • Nội dung môn học • Tài liệu tham khảo Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 3

Mục đích • Trình bày khảo sát các tính chất cơ bản của các cấu trúc dữ liệu và các thuật toán thực hiện các thao tác với chúng. • Cách sử dụng các cấu trúc dữ liệu như là công cụ hỗ trợ phát triển thuật toán. • Trình bày các thuật toán sắp xếp, tìm kiếm, các thuật toán trên đồ thị cơ bản. • Trên cơ sở đó: – Biết lựa chọn phương pháp lưu trữ dữ liệu thích hợp để cài đặt thuật toán giải các bài toán trong thực tế ứng dụng. – Biết cách tiếp cận để phát triển thuật toán giải các bài toán thực tế. Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 4

Mục tiêu của môn học Mục tiêu cụ thể • Kiến thức: Cung cấp các kiến thức cơ bản về – Các cấu trúc dữ liệu: mảng, danh sách móc nối đơn, kép; ngăn xếp, hàng đợi, cây, đồ thị. – Các thuật toán: sắp xếp, tìm kiếm, duyệt cây, duyệt đồ thị, tìm đường đi ngắn nhất; các kĩ thuật xây dựng thuật toán. • Kĩ năng: Cài đặt được thuật toán tìm kiếm, sắp xếp, tìm đường đi ngắn nhất (Dijkstra), thuật toán đệ quy, thuật toán quay lui. Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 5

NỘI DUNG Mở đầu Chương 1. Các khái niệm cơ bản 1.1. Ví dụ mở đầu 1.2. Thuật toán và độ phức tạp 1.3. Ký hiệu tiệm cận 1.4. Giả ngôn ngữ 1.5. Một số kĩ thuật phân tích thuật toán Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 6

Chương 2. Thuật toán đệ qui 2.1. Khái niệm đệ qui 2.2. Thuật toán đệ qui 2.3. Một số ví dụ minh hoạ 2.4. Phân tích thuật toán đệ qui 2.5. Đệ qui có nhớ 2.6. Chứng minh tính đúng đắn của thuật toán đệ qui 2.7. Thuật toán quay lui Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 7

Chương 3. Các cấu trúc dữ liệu cơ bản 3.1. Các khái niệm 3.2. Mảng 3.3. Danh sách 3.4. Ngăn xếp 3.5. Hàng đợi Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 8

Chương 4. Cây 4.1. Định nghĩa và các khái niệm Các thuật ngữ chính; Cây có thứ tự, Cây có nhãn ADT Cây 4.2. Cây nhị phân Định nghĩa và tính chất, Biểu diễn cây nhị phân Duyệt cây nhị phân 4.3. Các ví dụ ứng dụng Cây biểu thức; Cây quyết định; Mã Huffman Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 9

Chương 5. Các thuật toán sắp xếp 5.1. Bài toán sắp xếp 5.2. Ba thuật toán sắp xếp cơ bản 5.3. Sắp xếp trộn (Merge Sort) 5.4. Sắp xếp nhanh (Quick Sort) 5.5. Sắp xếp vun đống (Heap Sort) 5.6. Độ phức tạp tính toán của bài toán sắp xếp 5.7. Các phương pháp sắp xếp đặc biệt Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 10

Chương 6. Tìm kiếm 6.1. Tìm kiếm tuần tự và tìm kiếm nhị phân 6.2. Cây nhị phân tìm kiếm 6.3. Cây nhị phân tìm kiếm cân bằng 6.4. Tìm kiếm xâu mẫu (String Searching) 6.5. Bảng băm Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 11

Chương 7. Đồ thị và các thuật toán đồ thị 7.1. Đồ thị 7.2. Biểu diễn đồ thị 7.3. Các thuật toán duyệt đồ thị 7.4. Một số ứng dụng của tìm kiếm trên đồ thị 7.5. Bài toán đường đi ngắn nhất Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 12

Tài liệu tham khảo 1. Nguyễn Đức Nghĩa. Cấu trúc dữ liệu và thuật toán. NXB Bách Khoa 2013 2. Đỗ Xuân Lôi. Cấu trúc dữ liệu và giải thuật. NXB ĐH Quốc gia, Hà nội, 2005. 3. Robert Sedgewick. Algorithms in C. Third Edition. AddisonWesle y, 1998. 4. Robert Sedgewick. Algorithms in C++, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching. 3th Edition, Addison-Wesley, 1999. 5. Robert Sedgewick. Algorithms in C++ Part 5: Graph Algorithms (3rd Edition). 3th Edition, Addison-Wesley, 2002. 6. Michael T. Goodrich, Roberto Tamassia, David M. Mount, Data Structures and Algorithms in C++. 704 pages. Wiley, 2003. 7. Robert Kruse, Alexander Ryba . Data Structures and Algorithms in C++. Prentice Hall, 2000. Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 13

Tài liệu tham khảo Robert Sedgewick William O. Baker Professor Departme nt of Computer Science Princeton University Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 14

• Michael T. Goodrich Chancellor's Professor at the Department of Computer Science, University of California, • Roberto Tamassia Professor, Department of Computer Science, Brown University • David Mount Professor in the Department of Computer Science and UMIACS. Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 15

• Robert Kruse, Alexander Ryba. Data Structures and Algorithms in C++. 2nd Edition. Prentice Hall, 2000. Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Page 16

Giáo trình • Nguyễn Đức Nghĩa. Bài giảng cấu trúc dữ liệu và giải thuật. NXB Đại học Bách khoa Hà nội, 2008. • Hồ Sĩ Đàm, Nguyễn Việt Hà, Bùi Thế Duy. Cấu trúc dữ liệu và giải thuật. NXB Giáo dục, 2007. • và giáo trình của các đại học: Huế, Cần thơ, Sư phạm Hà nội 1,... Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBKHN

Showing the first 16 pages. Download the document to see it all.

Comments (0)

Sign in to join the discussion

No comments yet. Be the first!