ƯỚC LƯỢNG
ĐỘ PHỨC TẠP THỜI GIAN (BIG O)
CỦA THUT TOÁN
Khoa Công nghệ thông tin
Trưng Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT)
2
Review
4 thành phần của bài toán
Mô tả ngữ cảnh
Mô tả input
Mô tả output
Các ví dụ
Quy trình giải bài toán
Đọc bài toán vài lần, gạch dưới những từ quan trọng
Giải bài toán trên giấy, giải các ví dụ
Tinh chỉnh lời giải
Viết mã giả, dự kiến các hàm, các lớp
Cài đặt chương trình: cài đặt từng bước của mã giả
Kiểm tra/kiểm thử với những dữ liệu khác nhau, chạy từng bước để phát
hiện lỗi
Các biểu diễn dữ liệu cơ bản
Vô hướng
Danh sách
Bảng
Dạng khác (Tree, Graph, …)
3
Nội dung
Thời gian chạy của thuật toán
Khái niệm Big O
Quy tc tính Big O
Một số Big O thông dụng
THỜI GIAN CHẠY
CỦA THUT TOÁN
5
Tại sao cần biết thời gian chạy của thuật toán
Trong thiết kế thuật toán
Định hướng thiết kế: từ input size + time limited định hướng cần phải
thiết kế thuật toán có phức tạp bao nhiêu dùng phương pháp gì
Đánh giá thuật toán có thể chạy trong thời gian cho phép không (trước
khi tiến hành cài đặt)
Xác định những điểm yếu trong thuật toán để cải tiến
Trong sử dụng thuật toán
Trước khi sử dụng một thuật toán trong thư viện, cần biết thuật toán có
thời gian chạy bao nhiêu
Trong so sánh các thuật tn
Là thước đo các thuật toán cùng giải quyết một bài toán