Bài giảng "Phân tích thiết kế và giải thuật - Chương 1: Kỹ thuật phân tích giải thuật" cung cấp cho người học các kiến thức: Tại sao cần phải phân tích giải thuật, tiêu chuẩn đánh giá giải thuật, phương pháp đánh giá. Mời các bạn cùng tham khảo. | Bài giảng Phân tích thiết kế và giải thuật - Chương 1 Kỹ thuật phân tích giải thuật KỸ THUẬT PHÂN TÍCH GIẢI THUẬT 1 Tại sao cần phải phân tích giải thuật Tiêu chuẩn đánh giá giải thuật Phương pháp đánh giá Bài tập 2 Với phần lớn các bài toán thường có nhiều giải thuật khác nhau để giải một bài toán. Làm cách nào để chọn giải thuật tốt nhất để giải một bài toán Làm cách nào để so sánh các giải thuật cùng giải được một bài toán gt Cần đánh giá giải thuật để lựa chọn giải thuật tốt nhất. 3 Đánh giá giải thuật - Tính đúng đắn Chạy trên dữ liệu thử Chứng minh lý thuyết bằng toán học chẳng hạn - Tính đơn giản - gt Thường chỉ sử dụng vài lần - Tính nhanh chóng thời gian thực thi Quan trọng khi chương trình được thực thi nhiều lần chương trình có khối lượng dữ liệu nhập lớn. Hiệu quả thời gian thực thi 4 Đo thời gian thực hiện chương trình - Lập trình và đo thời gian thực hiện - Phụ thuộc vào tập lệnh của máy tính - Kỹ năng của người lập trình - Dữ liệu đầu vào Tính độ phức tạp thời gian thực hiện của giải thuật độ đo sự thực thi của giải thuật Độ phức tạp thời gian thực hiện của giải thuật thường được tính trong trường hợp xấu nhất. 5 Đo thời gian thực hiện - Thời gian thực hiện một chương trình là một hàm của kích thước dữ liệu vào ký hiệu T n . - Hàm T n 0 n 0 với n là kích thước độ lớn của dữ liệu đầu vào - Ví dụ Chương trình tính tổng của n số có thời gian thực hiện là T n cn trong đó c là một hằng số. Đơn vị đo thời gian thực hiện - Đơn vị tính số lệnh cơ bản số chỉ thị - Ví dụ Khi ta nói thời gian thực hiện của một chương trình là T n Cn thì có nghĩa là chương trình ấy cần Cn chỉ thị thực thi. 6 Thời gian thực hiện chương trình không chỉ phụ thuộc vào kích thước mà còn phụ thuộc vào tính chất của dữ liệu vào. Dữ liệu vào có cùng kích thước nhưng thời gian thực hiện chương trình có thể khác nhau. - Ví dụ chương trình sắp xếp dãy số nguyên tăng dần. Nhập vào dãy số nguyên. gt Dãy số nhập vào có thể có thứ tự chưa có thứ tự có thứ tự tăng hoặc có thứ tự giảm. gt Thời