Bài 25: Thực hành xác định độ phức tạp thời gian thuật toán

Khởi động (SGK Kết nối tri thức với cuộc sống - Trang 115)

Hướng dẫn giải

Đánh giá được mức đơn giản của thuật toán, từ đó tìm ra được cách giải nhanh nhất.

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)

Luyện tập 1 (SGK Kết nối tri thức với cuộc sống - Trang 117)

Hướng dẫn giải

Độ phức tạp của thuật toán sắp xếp nổi bọt là O(n2)

T = O(n) + O(n2) = O(n2)

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)

Luyện tập 2 (SGK Kết nối tri thức với cuộc sống - Trang 117)

Hướng dẫn giải

Tham khảo:

Hàm "Mystery(n)" sẽ trả về giá trị là r.

Độ phức tạp thời gian của chương trình này là O(n3)

(Trả lời bởi Time line)
Thảo luận (1)

Vận dụng 1 (SGK Kết nối tri thức với cuộc sống - Trang 117)

Hướng dẫn 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

 

(Trả lời bởi Thanh An)
Thảo luận (1)

Vận dụng 2 (SGK Kết nối tri thức với cuộc sống - Trang 117)

Hướng dẫn giải

Công việc của hàm là thực hiện sắp xếp.

Độ phức tạp của thuật toán là O(n2)

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)