O lớn của vòng lặp for là gì?
O lớn của vòng lặp for là gì?

Video: O lớn của vòng lặp for là gì?

Video: O lớn của vòng lặp for là gì?
Video: Lập trình C - 20. Vòng lặp for trong lặp trình C | Tự học lập trình C 2024, Có thể
Anonim

Các O lớn của một vòng là số lần lặp lại của vòng thành số lượng các câu lệnh trong vòng . Bây giờ theo định nghĩa, O lớn nên là O (n * 2) nhưng nó là O (n).

Tương tự, bạn có thể hỏi, độ phức tạp của vòng lặp for là gì?

Vì chúng tôi giả sử các câu lệnh là O (1), tổng thời gian cho vòng là N * O (1), là O (N) tổng thể. Bên ngoài vòng thực hiện N lần. Mỗi khi bên ngoài vòng thực thi, bên trong vòng thực hiện M lần. Kết quả là, các câu lệnh trong vòng thực hiện tổng cộng N * M lần.

Hơn nữa, ví dụ như ký hiệu Big O là gì? Các Ký hiệu O lớn xác định giới hạn trên của một thuật toán, nó chỉ giới hạn một hàm từ phía trên. Vì thí dụ , hãy xem xét trường hợp Phân loại chèn. Nó cần thời gian tuyến tính trong trường hợp tốt nhất và thời gian bậc hai trong trường hợp xấu nhất. Chúng ta có thể nói một cách an toàn rằng độ phức tạp về thời gian của sắp xếp Chèn là O (n ^ 2).

Đơn giản như vậy, làm cách nào để bạn tìm được độ phức tạp về thời gian của vòng lặp for?

Ví dụ: Sắp xếp lựa chọn và Sắp xếp chèn có O (n ^ 2) thời gian phức tạp . O (Đăng nhập) Thời gian phức tạp của một vòng được coi là O (Logn) nếu vòng các biến được chia / nhân với một lượng không đổi. Ví dụ Tìm kiếm nhị phân có O (Đăng nhập) thời gian phức tạp.

Làm thế nào để bạn tính toán Big O?

Đến tính toán Big O , bạn có thể xem qua từng dòng mã và xác định xem nó có O (1), O (n) vv và sau đó trả lại của bạn phép tính cuối cùng. Ví dụ, nó có thể là O (4 + 5n) trong đó 4 đại diện cho bốn trường hợp của O (1) và 5n đại diện cho năm trường hợp của O (n).

Đề xuất: