タグ

ブックマーク / keyesberry.hatenadiary.org (1)

  • 再帰は再帰なんかじゃない!末尾再帰こそが真の再帰なんだ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 再帰は再帰なんかじゃない!末尾再帰こそが真の再帰なんだ! : melborne.github.com - 「計算機プログラムの構造と解釈」で 末尾再帰というものを知ったので勉強しました 自分の理解を書いてみます 再帰 再帰呼び出しとはある手続きの中で 再びその手続き自身を呼び出すことと定義される*1 でもこの定義は正確じゃない なぜなら再帰呼び出しは自分自身を呼んでいないからだ 階乗を考えてみよう 階乗は数学的にこう定義できる 但し、自然数n=1のときは1 ふつうRubyで階乗メソッドはこう書く def fact(n) if n == 1 1 else n * fact(n-1) end end fact 5 #> 120 factメソッドの中でfactメソッド

    再帰は再帰なんかじゃない!末尾再帰こそが真の再帰なんだ! - hp12c
  • 1