YOMEDIA
NONE

Vận dụng 2 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT

Vận dụng 2 trang 114 SGK Tin học 11 Kết nối tri thức

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?

ATNETWORK

Hướng dẫn giải chi tiết Vận dụng 2

- 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).

-- Mod Tin Học 11 HỌC247

Nếu bạn thấy hướng dẫn giải Vận dụng 2 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT HAY thì click chia sẻ 
YOMEDIA

Chưa có câu hỏi nào. Em hãy trở thành người đầu tiên đặt câu hỏi.

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON