01/10/2018, 08:20

Hỏi về Đệ quy cùa thuật toán Fibonaci

Em có thuật toán này:

int F(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;

return F(n-1)+F(n-2);

}

Với n = 4 thì nó sẽ return F(3) + F(2)
đến đây nó sẽ return lại từng cái một lần lượt F(3) rồi F(2) hay thế nào vậy ạ.
Anh chị giải thích giúp em với.
Em cảm ơn.

Trần Hoàn viết 10:33 ngày 01/10/2018

F(4) == F(3) + F(2) == (F(2) + F(1)) + (F(1) + F(0)) == ((F(1) + F(0)) + 1) + (1 + 0) == ((1 + 0) + 1) + (1 + 0) == 3

Đối với máy tính bạn có thể hiểu nó theo kiểu như duyệt cây nhị phân kiểu (left right node) vậy

The Sao viết 10:31 ngày 01/10/2018

e cảm ơn, em tìm hiểu xem duyệt cây nhị phân là ra sao ^^

Tuổi Già Ta Vẫn Xông Pha viết 10:24 ngày 01/10/2018


Hy vọng bạn sẽ hiểu

Bài liên quan
0