なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1448704298/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
422: デフォルトの名無しさん [sage] 2015/12/27(日) 17:46:46.63 ID:YWwZOVBb 末尾再帰を勘違いしている人がいるので説明しておこう。 末尾再帰は「再帰を末尾再帰で書けば速くなる」というものではなくて (単純な)ループを何らかの理由で再帰の形にしないといけない時、 末尾再帰の条件を満たすように、ループを再帰に変換すると コンパイラが再帰をループに逆変換してくれる機能 なので、再帰を全て末尾再帰にできるわけではなく (末尾再帰にできるのは、元が単純なループの場合のみ) また、ループ ─(人間)→ 再帰 ─(コンパイラ) → ループ というふうに、ループに戻しているだけなのでループより速くなることはない。 http://mevius.5ch.net/test/read.cgi/tech/1448704298/422
424: デフォルトの名無しさん [sage] 2015/12/27(日) 17:54:40.33 ID:Zmrinoji >>422 より正確には、「再帰全てをノーコストで末尾再帰にできるわけではなく」かな。 関数がファーストクラスならCPSに変換すれば末尾再帰の形にはなる。 ・・・・・・ヒープガリゴリ使うし、スタックを自前で持つのと変わらんけど。 http://mevius.5ch.net/test/read.cgi/tech/1448704298/424
485: デフォルトの名無しさん [sage] 2015/12/29(火) 05:14:17.23 ID:GnldGbIR >>422 tail callも知らんのかよw http://mevius.5ch.net/test/read.cgi/tech/1448704298/485
489: デフォルトの名無しさん [sage] 2015/12/29(火) 22:38:58.43 ID:tgd/4Yaw >>422の「なので、再帰を全て末尾再帰にできるわけではなく」とか恥ずかしいよなw http://mevius.5ch.net/test/read.cgi/tech/1448704298/489
490: デフォルトの名無しさん [sage] 2015/12/30(水) 07:30:40.60 ID:hgJXqSbV >>489 >422 「再帰を全て末尾再帰にできるわけではな」いのは当然だが,どうしてはずかしいんだ? http://mevius.5ch.net/test/read.cgi/tech/1448704298/490
517: デフォルトの名無しさん [] 2016/01/01(金) 00:50:07.33 ID:PlqvFYu0 >>516 >>422を理解出来てるのか? こりゃすげーわ。 ループを再帰の形にするときに、ループを再帰に変換すると、再帰をループに逆変換してくれるコンパイラの機能が末尾再帰? >>422が末尾再帰を理解してない事が読み取れるだけだ。 それをお前が読み取れるという事は、同一人物以外あり得ない。 http://mevius.5ch.net/test/read.cgi/tech/1448704298/517
527: デフォルトの名無しさん [] 2016/01/01(金) 15:45:58.36 ID:PlqvFYu0 >>524 おおー、スゲー その調子で>>422を解説してくれや。 http://mevius.5ch.net/test/read.cgi/tech/1448704298/527
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.063s