While(n>=1)
{
n=n/20;
n=n/6;
n=10×n;
n=n-10000;
}
tôi đã cố gắng như thế này =>Độ phức tạp của mã đã cho là bao nhiêu?
Trong vòng này, N bị giảm đi N/12 - 10000. như vậy, thời gian phức tạp là O (log N).
While(n>=1)
{
n=n/20;
n=n/6;
n=10×n;
n=n-10000;
}
tôi đã cố gắng như thế này =>Độ phức tạp của mã đã cho là bao nhiêu?
Trong vòng này, N bị giảm đi N/12 - 10000. như vậy, thời gian phức tạp là O (log N).
Điều đó có vẻ đúng. Nếu đây là một bài tập, bạn nên chuẩn bị để tranh luận lý do tại sao O(log_12(N))
là O(log(N))
.
Nếu bạn có ý tưởng về độ phức tạp, bạn có thể tính giá trị cụ thể cho một số n và so sánh biểu đồ kết quả với độ phức tạp giả định. Nếu cả hai đồ thị là tương tự nhau, bạn có thể bắt đầu tìm thấy một chứng minh tại sao giả định của bạn là chính xác. – MrSmith42
cảm ơn! tôi sẽ ghi nhớ điều đó trong đầu – Garrick
Vui lòng không đăng câu hỏi về cơ bản cùng một vài giờ một lần (http://stackoverflow.com/questions/39324836/what-is-the-time-complexity-of-given-code) . Bạn có thể muốn đọc phần Hỏi & Đáp tổng quát hơn trước tiên, như: http://stackoverflow.com/questions/11032015/how-to-find-time-complexity-of-an-algorithm – m69