Bài giảng Cấu trúc dữ liệu và giải thuật: Ôn tập kiến thức - Đậu Ngọc Hà Dương có nội dung trình bày tổng quan kiến thức về đánh giá thuật toán; DSLK – Stack - Queue; cấu trúc cây: cây nhị phân tìm kiếm, cây AVL; các thuật toán sắp xếp; các chiến lược tìm kiếm; đối sánh chuỗi, nén dữ liệu,... Mời các bạn cùng tham khảo!
Trang 1C u trúc d li u và gi i thu t ấ ữ ệ ả ậ
Gi ng viên: ả
ThS Đậu Ngọc Hà Dương – ĐH KHTN HCM
ÔN TẬP KIẾN THỨC
Trang 2Nội dung ôn tập
2
1. Đánh giá thu t toán ậ
2. DSLK – Stack Queue
3. C u trúc cây: cây nh phân tìm ki m, cây AVL ấ ị ế
4. Các thu t toán s p x p ậ ắ ế
5. Các chi n l ế ượ c tìm ki m ế
6. Đ i sánh chu i ố ỗ
Trang 3Nội dung môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 3
Trang 4Nội dung môn học
4
Trang 5Nội dung môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 5
Trang 6Nội dung môn học
6
Trang 7Ngôn ngữ lập trình
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 7
Trang 8Ngôn ngữ lập trình
8
George Boole
Trang 9Ngôn ngữ lập trình
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 9
Alan Turing
Trang 10Ngôn ngữ lập trình
10
Von Neumann
Trang 11Thế nào là thuật toán?
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
11
An algorithm is a sequence of steps required to
accomplish a task (AlKhwārizmī).
Thu t toán là t p h p h u h n các l nh chính ậ ậ ợ ữ ạ ệ xác đ th c hi n tính toán ho c đ gi i m t bài ể ự ệ ặ ể ả ộ toán (Rosen)
AlKhwārizmī
Trang 12Thuật toán – Các giai đoạn thực hiện
12
Trang 13Thuật toán – Phương pháp biểu diễn
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
13
Trang 14Ví dụ về lưu đồ
14
Nhập vào 2 số nguyên
Tính tổng 2 số Bắt đầu
Hiển thị kết quả
Trang 15Ví dụ về bảng quyết định
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
15
Luật
Điều
kiện
Đèn lỗi báo sáng C C K K C C K K Máy in không được nhận biết C K C K C K C K
Hành
động
Kiểm tra cáp nối máy tinh – máy
Kiểm tra khe để giấy X X
Trang 16Thế nào là cấu trúc dữ liệu?
16
C u trúc d li u ấ ữ ệ là m t cách t ch c các d li u thành ộ ổ ứ ữ ệ
m t đ n v hoàn ch nh bao g m các thành ph n (ph n ộ ơ ị ỉ ồ ầ ầ
t ) là các d li u c b n, các m i liên k t gi a các ph n ử ữ ệ ơ ả ố ế ữ ầ
t y và các thao tác c b n trên chúng ử ấ ơ ả
Các thao tác này th ườ ng đ ượ c g i là các ọ phép toán trên
c u trúc d li u xác đ nh. Các phép toán c b n th ấ ữ ệ ị ơ ả ườ ng
g p là ặ 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 c a ầ ủ thu t toán ậ , khi thi t k ch ế ế ươ ng trình ng ườ i ta đ nh nghĩa và s d ng các c u trúc d ị ử ụ ấ ữ
li u khác nhau. Các c u trúc d li u c b n hay dùng ệ ấ ữ ệ ơ ả
Trang 17Tóm tắt
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 17
Trang 18Mở rộng
18
Programming is for programmers
[C++ in Action]
Trang 19Hỏi và Đáp
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ 19