Tôi đã cố gắng hiểu thời gian chạy trường hợp xấu nhất của Chữ ký Big O. Nhưng tôi vẫn không hiểu lắm.Tính toán ký hiệu O lớn với đệ quy
Đây là một số mã mà tôi đã viết gần đây:
def g(n):
if n==0:
return 1
elif n==1:
return 2
else:
n_div=n//2
n_mod=n%2
return g(n_div)*g(n_mod)
Vì vậy, tôi hy vọng rằng tôi ít nhất là ngay rằng:
def g(n):
if n==0:
return 1
và:
elif n==1:
return 2
là O (1), rất ổn định.
Nhưng còn phần else
.
Có phải O (n) vì nó phụ thuộc vào số n
mà tôi chọn không?
Bất cứ ai có thể giải thích về độ phức tạp Big O của phần else
là gì?
Có chức năng nào để đếm số 1 trong mã nhị phân không? – Vik