JavaScript is required

Với đồ thị n đỉnh, độ phức tạp tính toán của thuật toán Dijkstra là:

A.

O(n3 log2n)

B.

O(n3)

C.

O(n2)

D.

O(n2 log2n)

Trả lời:

Đáp án đúng: C


Thuật toán Dijkstra có độ phức tạp phụ thuộc vào cấu trúc dữ liệu được sử dụng để lưu trữ tập hợp các đỉnh chưa được xét. - Nếu sử dụng mảng hoặc danh sách liên kết đơn giản, độ phức tạp là O(n^2). - Nếu sử dụng hàng đợi ưu tiên (ví dụ: heap nhị phân), độ phức tạp là O((m+n)log n), trong đó m là số cạnh và n là số đỉnh. Trong trường hợp đồ thị dày đặc (m ≈ n^2), độ phức tạp có thể gần với O(n^2 log n). Với đồ thị thưa (m ≈ n), độ phức tạp sẽ là O(n log n). Vì câu hỏi không chỉ rõ loại đồ thị và cấu trúc dữ liệu sử dụng, ta sẽ chọn đáp án tổng quát nhất phù hợp với các trường hợp thông thường, đó là O(n^2) khi sử dụng mảng hoặc danh sách đơn để tìm đỉnh có khoảng cách ngắn nhất. Trong các lựa chọn đưa ra, O(n^2) là đáp án phù hợp nhất. O(n^2 log n) cũng đúng nếu sử dụng heap nhưng không chính xác bằng trong trường hợp tổng quát.

Bộ 525 câu hỏi trắc nghiệm ôn thi môn Toán rời rạc có đáp án dưới đây sẽ là tài liệu ôn tập hữi ích dành cho các bạn sinh viên. Mời các bạn cùng tham khảo!


30 câu hỏi 60 phút

Câu hỏi liên quan