「アルゴリズムグラフィック」chap3の再帰

キューキュー メモメモ
  •  再帰
  • 再帰的なベースライン条件と条件に問題
  • スタック(積み重ね)

まず、

  • 引用実施形態:ボックス、およびボックス
  • ソリューション:
  1. ボックスがすべてですチェック
  2. ボックスは、最初のステップに返送された場合
  3. キーがある場合は、それが行われています
  • 擬似コード:
デフlook_for_key(ボックス):
  のためのアイテム箱:
   場合:item.is_a_box()
   look_for_key(アイテム)が
  ELIF item.is_a_keyを():
    プリント" キーを見つけました"

II。

  • ベースライン条件と再帰条件:それぞれの再帰関数を持っています
  • 自分自身の価値ことを提供する再帰関数呼び出し
  • ベースラインの状態は、もはや自分自身を呼び出す関数ではありません

III。

  • スタックデータ構造は単純です
  • あなたが別の関数、現在の関数の一時停止にし、未完成の状態で関数を呼び出すと、値はすべての変数のメモリ内に残っています
  • 再帰関数呼び出しスタック:
  •  擬似コード:

デフ事実(X):

 x == 1の場合:

  1を返します

 他:

  X *事実を返す(X-1)

 

コード

 C ++

#include<iostream>
using namespace std;

int recursive(int a)
{
    if(a==1)
        return 1;
    else
        return a*recursive(a-1);
}

int main()
{
    int a=5;
    cout<<recursive(a)<<endl;
    return 0;
}
    

 

おすすめ

転載: www.cnblogs.com/huangyilong/p/11449581.html