2016-05-27 46 views

Trả lời

4

Xin lỗi cho câu trả lời trước của tôi, phức tạp của mã của bạn có vẻ là

O (2^N) hoặc O (2^N-1) để được chính xác trong trường hợp xấu nhất .

Vì vậy, Nếu

N = str.length ;//number of iteration 

Trong trường hợp xấu nhất, bạn str bao gồm tất cả các chữ số N hoặc là 1 hoặc 2.

Sau đó, Nếu N là 20 để bắt đầu với, sau đó nó sẽ đẻ trứng nhiều hơn hai cuộc gọi đệ quy của N = 18N = 19,

Sau đó, N = 19 sẽ sinh ra hai cuộc gọi nữa (và vì vậy một cho đến giá trị của N là 0)

Vì vậy, số lượng cuộc gọi sẽ tăng theo cấp số nhân với mỗi lần lặp), do đó đến giá trị (2^N - 1).

+0

@Thilo Vui lòng kiểm tra ngay – gurvinder372

+1

Chắc chắn. Chính xác hơn, độ phức tạp bao gồm trong một chuỗi Fibonacci. – dgiugg

+0

@dgiugg có, có vẻ khá gần phải không? http://stackoverflow.com/questions/360748/computational-complexity-of-fibonacci-sequence – gurvinder372

Các vấn đề liên quan