用棧實現Fibnacci遞迴過程的非遞迴演算法

2021-07-16 04:23:24 字數 602 閱讀 4166

#include#include using namespace std;

//模擬遞迴工作棧。

//data表示當前狀態的引數值

//state表示當前棧的完成狀態,state = 2 表示未計算, state = 1 表示計算了遞迴樹左部,state = 0 表示計算了整個遞迴子樹

struct stacknode

stacknode( int d, int s) };

int fibnacci( int n )

fstack.push( stacknode( n, 2) );

while( !fstack.empty() )

}else if( fstack.top().state == 2 )

else if( fstack.top().data == 1 )

} else if( fstack.top().data == 0 )

}}else if( fstack.top().state == 1 )

}return res;

}int main()

return 0;

}

fibnacci數列遞迴實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家萊昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 34 在數學上,斐波那契數列以如下被以遞推的方法定義 f ...

fibnacci數列遞迴實現

1.斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家萊昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 34 在數學上,斐波那契數列以如下被以遞推的方法定義 ...

fibnacci數列遞迴實現

1.網上查詢資料說明什麼是fibnacci數列?答 斐波那契數列 fibonacci sequence 又稱 分割數列 兔子數列,是數學家列昂納多 斐波那契於1202年提出的數列。斐波那契數列為1 1 2 3 5 8 13 21 34 此數列從第3項開始,每一項都等於前兩項之和。2.給出fibnac...