tế khi chạy các thuật toán được tình bằng (mili second, second, minute, hour, day). Kết luận: Thuật toán nào nhanh, thuật toán nào chậm.[r]
(1)CƠ SỞ LẬP TRÌNH NÂNG CAO
Biên soạn: Ths.Tôn Quang Toại TonQuangToai@yahoo.com
TPHCM, NĂM 2013
(2)Mục tiêu môn học
• Mục tiêu cần đạt
- Nắm vững số phương pháp Thiết kế thuật toán để giải bài toán tin học
(3)Nội dung mơn học
• Chương 1: Độ phức tạp thuật tốn
• Chương 2: Ơn tập kỹ thuật xử lý File – Mảng – Xâu ký tự • Chương 3: Lập trình Đệ quy
• Chương 4: Phương pháp Quay lui • Chương 5: Phương pháp Nhánh cận • Chương 6: Phương pháp Chia để trị • Chương 7: Phương pháp Tham lam
• Chương 8: Phương pháp Quy hoạch động • Chương 9: Phương pháp Hình học
(4)Tài liệu tham khảo
• Books
1 Vũ Đình Hịa, Đỗ Trung Kiên, “Thuật toán độ phức tạp
của thuật toán”, NXB ĐHSP, 2007
2 Steven S Skiena, “The Algorithm Design Manual”, Springer
, 2008
3 Art Lew, Holger Mauch, “Dynamic Programming – A
Computational Tool”, Springer, 2007
4 Thomas H Cormen, Charles E Leiserson, Ronald L Rivest,
Clifford Stein, “Introduction to Algorithms”, 2009
5 Jon Bentley, “Writing Efficient Programs”, Prentice-Hall,
1982
(5)ĐỘ PHỨC TẠP CỦA THUẬT TOÁN
(6)Nội dung
• Độ phức tạp thuật tốn
(7)(8)Thời gian thực thuật tốn
• Phân tích thuật tốn: Phân tích thuật toán
là xác định lượng tài nguyên cần thiết để
thực thi thuật toán:
– Thời gian thực thuật toán – Bộ nhớ cần thực thuật tốn
• Tiêu chí thường dùng để đánh giá
thuật toán thời gian thực thuật
(9)Thời gian thực thuật tốn
• Mục tiêu phân tích thuật toán
– So sánh để chọn thuật toán chạy
nhanh
– Tìm yếu điểm thuật toán để Cải
tiến thuật toán tốt
• cách “đo” thời gian thực thuật
toán
– Thời gian thực thực tế
– Thời gian thực lý thuyết (Phân tích thuật
(10)Thời gian thực thuật tốn
• Thời gian thực thực tế: Dựa thực
tế chạy thuật tốn tình (mili second, second, minute, hour, day)