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:
Luyện tập
Câ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 = len(A}
for i in range(n-1):
for" j in range(n-1-i):
for A[j] > A[j#1]:
A[j],A{fj+1] = A[3+1]1,A[3]
Câu trả lời:
Người trả lời: GV. Đỗ Thị Ánh
Phương pháp giải:- Đầu tiên, ta sẽ tính toán độ phức tạp của thuật toán sắp xếp nổi bọt theo Big O notation.- Bước thứ nhất trong thuật toán là lặp qua từng phần tử trong mảng để sắp xếp, điều này đạt tới O(n).- Bước thứ hai là vòng lặp lồng nhau để so sánh và hoán đổi các phần tử, khiến cho độ phức tạp trở thành O(n2).- Tổng cộng, độ phức tạp của thuật toán sắp xếp nổi bọt là O(n2).Câu trả lời:- Độ phức tạp của thuật toán sắp xếp nổi bọt là O(n2).- Tổng số bước tính toán cần thiết để thực hiện thuật toán sắp xếp nổi bọt là O(n) + O(n2) = O(n2).Bạn có thể tham khảo câu trả lời trên và viết lại một cách chi tiết và đầy đủ hơn nếu cần.
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...
- 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...
- 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 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)