Trang chủ Lớp 11 Tin học lớp 11 SGK Tin học 11 - Kết nối tri thức Vận dụng 1 Bài 25 (trang 115) Tin học 11: Giả sử...

Vận dụng 1 Bài 25 (trang 115) Tin học 11: Giả sử rằng mỗi phép tính đơn được thực hiện trong micro giây (1 us = một phần triệu giây)

Giải chi tiết Vận dụng 1 Bài 25. Thực hành xác định độ phức tạp thời gian thuật toán (trang 115) – SGK Tin học 11 Kết nối tri thức. Tham khảo: Vận dụng kiến thức trong bài để trả lời câu hỏi.

Câu hỏi/Đề bài:

Giả sử rằng mỗi phép tính đơn được thực hiện trong micro giây (1 us = một phần triệu giây). Hãy xác định giá trị lớn nhất của n trong các thuật toán tìm kiếm tuần tự, sắp xếp chèn và sắp xếp chọn nếu thời gian thực thi các thuật toán là 1 giây, 1 phút và 1 giờ?

Hướng dẫn:

Vận dụng kiến thức trong bài để trả lời câu hỏi.

Lời giải:

1.Thuật toán tìm kiếm tuần tự:

– Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự là O(n)

– Giá trị lớn nhất của n với thời gian thực thi là 1 giây: n = 1 giây * (106 us / phép tính) = 106

– Giá trị lớn nhất của n với thời gian thực thi là 1 phút: n = 1 phút * (60 giây / phút) * (106us / phép tính) = 6 * 107

– Giá trị lớn nhất của n với thời gian thực thi là 1 giờ: n = 1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính) = 3.6 * 109

2.Thuật toán sắp xếp chèn:

– Độ phức tạp thời gian của thuật toán sắp xếp chèn là O(102

– Giá trị lớn nhất của n với thời gian thực thi là 1 giây: n = sqrt(1 giây * (106us / phép tính)) =103

– Giá trị lớn nhất của n với thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 6 * 104

– Giá trị lớn nhất của n với thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106

3. Thuật toán sắp xếp chọn:

– Độ phức tạp thời gian của thuật toán sắp xếp chọn là O(n2)

– Giá trị lớn nhất của n là: n = sqrt(1 giây * (106us / phép tính)) = 1000.

Thời gian thực thi là 1 phút:

Giá trị lớn nhất của n là: n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 60000.

Thời gian thực thi là 1 giờ:

Giá trị lớn nhất của n là: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106