Vận dụngCâu hỏi 1. 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...
Câu hỏi:
Vận dụng
Câu hỏi 1. 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ờ?
Câu trả lời:
Người trả lời: GV. Đỗ Thị Phương
Phương pháp giải:Để 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 khi thời gian thực thi là 1 giây, 1 phút và 1 giờ, ta cần tính số lần phép tính đơn trong thời gian thực thi đó và sau đó giải phương trình để tìm giá trị của n.Câu trả lời:1. Với 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)- Khi thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (10^6 us / phép tính)) = 3.6 * 10^6- Khi thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (10^6 us / phép tính)) = 60 * 10^3- Khi thời gian thực thi là 1 giây: n = sqrt(1 giây * (10^6 us / phép tính)) = 10002. Với 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(n^2)- Khi thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (10^6 us / phép tính)) = 3.6 * 10^6- Khi thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (10^6 us / phép tính)) = 60 * 10^3- Khi thời gian thực thi là 1 giây: n = sqrt(1 giây * (10^6 us / phép tính)) = 10003. Với 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(n^2)- Khi thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (10^6 us / phép tính)) = 3.6 * 10^6- Khi thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (10^6 us / phép tính)) = 60 * 10^3- Khi thời gian thực thi là 1 giây: n = sqrt(1 giây * (10^6 us / phép tính)) = 1000Vậy giá trị lớn nhất của n đối với 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 khi thời gian thực thi là 1 giờ, 1 phút và 1 giây lần lượt tương ứng là 3.6*10^6, 60*10^3 và 1000.
Câu hỏi liên quan:
- Khởi độngCâu hỏi. Biết cách phân tích, đánh giá độ phức tạp thuật toán là kĩ năng quan trọng của...
- Luyện tậpCâu hỏi 1. Xác định độ phức tạp của thuật toán sắp xếp nỗi bọt sau:def BubbleSort(A):n =...
- Câu hỏi 2. Cho biết hàm sau sẽ trả về giá trị là bao nhiêu? Xác định độ phức tạp thời gian O- lớn...
- Câu hỏi 2. Hãy cho biết hàm sau thực hiện công việc gì? Xác định độ phức tạp thời gian của thuật...
Bình luận (0)