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.

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

2 Likes

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


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

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?