public void foo(int n, int m) {
int i = m;
while (i > 100) {
i = i/3;
}
for (int k = i ; k >= 0; k--) {
for (int j = 1; j < n; j *= 2) {
System.out.print(k + "\t" + j);
}
System.out.println();
}
}
Tôi nhận thấy độ phức tạp sẽ là O (logn).
Đó là một sản phẩm của vòng lặp bên trong, vòng lặp bên ngoài - sẽ không bao giờ được thực thi hơn 100 lần, vì vậy nó có thể được bỏ qua.Tricky Big-O complexity
Điều tôi không chắc chắn là mệnh đề thời gian, liệu nó có nên được kết hợp vào độ phức tạp của Big-O không? Đối với các giá trị i rất lớn, nó có thể tác động hoặc hoạt động số học, không quan trọng trên thang đo nào, được tính là hoạt động cơ bản và có thể bỏ qua?
1 cho gắn thẻ nó bài tập về nhà và trung thực! –
Số đếm trong thời gian - đó là O (log m) –