Bài giảng Cấu trúc dữ liệu và giải thuật: Giới thiệu - Đậu Ngọc Hà Dương trình bày các thông tin về môn học, quy định môn học, tài liệu tham khảo và nội dung môn học để các bạn sinh viên nắm được các thông tin hữu ích. 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: ả
Đậu Ngọc Hà Dương
Giới thiệu
Trang 2Nội dung
2
Thông tin môn học
Quy định môn học
Tài liệu tham khảo
Nội dung môn học
Trang 3Thông tin môn học – Giáo viên
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
3
Trang 4Trang web môn học
Trang 5 Lần 1: trừ 30% trên tổng số điểm của môn học.
Lần 2: trừ 50% trên tổng số điểm của môn học.
0d thực hành hay lý thuyết xem như 0d cả môn!
Trang 6Thông tin môn học – Giờ học Lý thuyết
6
KHÔNG b t bu c ph i có m t. N u đi h c, ph i ắ ộ ả ặ ế ọ ả
đi h c đúng gi và nghiêm túc ọ ờ
Có th có các bài ki m tra nh v i n i dung c a ể ể ỏ ớ ộ ủ
ph n h c có liên quan ầ ọ
Có th có đi m tr cho vi c chu n b bài, làm ể ể ừ ệ ẩ ị bài không t t ố
Trang 7Thông tin môn học – Giờ học thực hành
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
Trang 8Tài liệu tham khảo
8
Adam Drozdek (2001), Data structures and
Algorithms in C++ (Second Edition)
D ươ ng Anh Đ c – Tr n H nh Nhi (2003), ứ ầ ạ Nh p môn ậ
C u trúc d li u và gi i thu t ấ ữ ệ ả ậ , NXB ĐHQG TP.HCM
Đinh M nh T ạ ườ ng (2008), C u trúc d li u và thu t ấ ữ ệ ậ toán, NXB ĐHQG HN.
Đ Xuân Lôi (2007), ỗ C u trúc d li u và gi i thu t ấ ữ ệ ả ậ , NXB ĐHQG HN.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (2001), Introduction to
Algorithms (Second Edition)
Trang 9Nội dung môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
Trang 10Nội dung môn học
10
Trang 11Nội dung môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ11
Trang 12Nội dung môn học
12
Trang 13Nội dung môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ13
Trang 15Mục đích môn học
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
15
H c môn này đ làm gì? ọ ể
Trang 17Ngôn ngữ lập trình
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ17
Trang 18Ngôn ngữ lập trình
18
George Boole
Trang 19Ngôn ngữ lập trình
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ19
Alan Turing
Trang 20Ngôn ngữ lập trình
20
Von Neumann
Trang 21Thế nào là thuật toán?
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
21
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 22Thuật toán – Các giai đoạn thực hiện
22
Trang 23Thuật toán – Phương pháp biểu diễn
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
23
Trang 24Ví dụ về lưu đồ
24
Nhập vào 2 số nguyên
Tính tổng 2 sốBắt đầu
Kết thúcHiển thị kết quả
Trang 25Hành
động
Kiểm tra cáp nối máy tinh – máy
Trang 26Thế nào là cấu trúc dữ liệu?
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ
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 ệ ấ ữ ệ ơ ả
là: m ng ả (array), danh sách (list), ngăn x p ế (stack),
[Wikipedia, tháng 6 2009]
Trang 27Tóm tắt
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ27
Trang 28Mở rộng
28
Programming is for programmers
[C++ in Action]
Trang 29Hỏi và Đáp
C u trúc d li u và gi i thu t HCMUSấ ữ ệ ả ậ29