Với giải Vận dụng 2 trang 114 Tin học lớp 11 Kết nối tri thức chi tiết trong Bài 24: Đánh giá độ phức tạp thời gian thuật toán giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập Tin học 11. Mời các bạn đón xem:
Giải bài tập Tin học lớp 11 Bài 24: Đánh giá độ phức tạp thời gian thuật toán
Vận dụng 2 trang 114 Tin học 11: 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.
Lời giải:
*Chương trình 1:
from collections import Counter
import time
n = 1000
c = 0
# Ghi lại thời điểm bắt đầu
start_time = time.time()
for k in range(n):
c = c + 1
# Ghi lại thời điểm kết thúc
end_time = time.time()
# Tính thời gian hoàn thành
elapsed_time = end_time - start_time
# Sử dụng hàm Counter để đếm số lần lặp
counter = Counter(range(n))
# In số lần lặp
print("Số lần lặp: {}".format(counter))
# In thời gian thực thi
print("Thời gian thực thi của chương trình: {:.6f} giây".format(elapsed_time))
*Chương trình 2:
import time
n = 1000
c = 0
# Ghi lại thời điểm bắt đầu
start_time = time.perf_counter()
for k in range(n):
for j in range(n):
c = c + 1
# Ghi lại thời điểm kết thúc
end_time = time.perf_counter()
# Tính thời gian hoàn thành
elapsed_time = end_time - start_time
# In số lần lặp
print("Số lần lặp: {}".format(c))
# In thời gian thực thi
print("Thời gian thực thi của chương trình: {:.6f} giây".format(elapsed_time))
Sự khác biệt độ phức tạp thời gian của 2 chương trình trên:
Độ phức tạp thời gian của chương trình 1 là O(1), còn độ phức tạp thời gian của chương trình 2 là O(n2).
Xem thêm lời giải bài tập Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:
Câu hỏi trang 114 Tin học 11: Tính độ phức tạp của các hàm thời gian sau:...
Luyện tập 1 trang 114 Tin học 11: Xác định độ phức tạp thời gian cho chương trình sau:...
Luyện tập 2 trang 114 Tin học 11: Xác định độ phức tạp thời gian tính toán cho chương trình sau:...
Xem thêm các bài giải SGK Tin học lớp 11 Kết nối tri thức hay, chi tiết khác: