Chương trình 1: Thời gian thực hiện chương trình là T1 = T1(n) = \(2+n+1=n+3\) (đơn vị thời gian)
Chương trình 2: Thời gian thực hiện chương trình là T2 = T2(n) = \(2+n^2+1=n^2+3\) (đơn vị thời gian)
Chương trình 1: Thời gian thực hiện chương trình là T1 = T1(n) = \(2+n+1=n+3\) (đơn vị thời gian)
Chương trình 2: Thời gian thực hiện chương trình là T2 = T2(n) = \(2+n^2+1=n^2+3\) (đơn vị thời gian)
Quan sát và ước lượng thời gian thực hiện các đoạn chương trình 1 và 2 trong Hình 24.2. Chương trình nào chạy nhanh hơn? Vì sao?
Em hãy thiết lập chương trình và tính thời gian chạy thực tế trên máy tính của các chương trình 1 và 2 ở Hình 24.2 với các giá trị n khác nhau từ đó thấy được ý nghĩa sự khác biệt độ phức tạp thời gian của hai chương trình này.
Các lệnh và đoạn chương tình sau cần chạy trong bao nhiêu đơn vị thời gian?
Xác định độ phức tạp thời gian cho chương trình sau:
n = 1000
s = 0
for i in range (n);
s = s + i*(i+1)
print (s)
Xác định độ phức tạp thời gian tính toán cho chương trình sau:
n = 1000
sum = 0
i = 1while i <n;
i = i*2
sum = sum + 1
print (sum)
Cùng trao đổi và tìm hiểu cách phân loại thuật toán dựa trên độ phức tạp thời gian thuật toán.
Đọc, quan sát, thảo luận để biết một số quy tắc đơn giản tính độ phức tạp thời gian thuật toán.
Xác định độ phức tạp thời gian của thuật toán sắp xếp chọn đã được học trong bài 21.
Khẳng định "Trong mọi chương trình chỉ có đúng một phép toán tích cực" là đúng hay sai?