なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
4: 2015/11/28(土)19:30 ID:R0seH/nX(1/13) AAS
ループで書けるものはループで書く。
再帰使うのは仕方ない場合だけ。
5
(2): 2015/11/28(土)19:53 ID:R0seH/nX(2/13) AAS
スタック的なメモリ確保が必要かどうかがループと再帰を使い分ける分岐点じゃね。
末尾再帰最適化とかは本末転倒なイメージ。
8
(3): 2015/11/28(土)20:39 ID:R0seH/nX(3/13) AAS
ループより再帰のほうが抽象度が高いと言っている?
そこは俺にはよくわからん。

俺的にはプログラムには必要最小限の機能を使うべきで、
本質的にループより再帰のほうが強力なのだから
可能な限りループを使うべきと思ってる。

もちろん再帰をループにするためにスタックを自前で用意するといったことでは本末転倒だが。
9
(1): 2015/11/28(土)20:41 ID:R0seH/nX(4/13) AAS
ツリーの巡回は再帰を使ったほうがいいだろう。
リストの巡回はループでいいんじゃね?
12: 2015/11/28(土)20:58 ID:R0seH/nX(5/13) AAS
うーん。必要な抽象化は歓迎するが無駄な抽象化は歓迎しないというか。

この例は再帰とは関係ないけどJavaのファイル入出力なんかは
結構複雑な作りになってて無駄な抽象化なんじゃねーのとか思ってしまう。
まあ、俺個人の感想だが。
15: 2015/11/28(土)21:32 ID:R0seH/nX(6/13) AAS
スマンw クイックソートは再帰で書くわw
17: 2015/11/28(土)21:52 ID:R0seH/nX(7/13) AAS
書いたことはあるけど10年以上昔の話だな。
これは拾い物だけどクイックソートなんてこれだけのことだろ。

qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
19: 2015/11/28(土)22:13 ID:R0seH/nX(8/13) AAS
クイックソートは単純な巡回とは違うだろ。
だからスタック的なメモリを必要とするかどうかだよ。
21: 2015/11/28(土)22:25 ID:R0seH/nX(9/13) AAS
filterの実装がどうなってるかまでは知らんがな。
23: 2015/11/28(土)22:39 ID:R0seH/nX(10/13) AAS
なんか変なテンションだなぁ
俺がC++とかでfilter相当の関数書かにゃならんくなったらループで書くよ。
25
(1): 2015/11/28(土)22:49 ID:R0seH/nX(11/13) AAS
何が変か、わからん。
まあ関数型言語なんかは再帰推奨らしいがあんまり好きになれん。
27: 2015/11/28(土)23:05 ID:R0seH/nX(12/13) AAS
まあ参照透過性とかは原理主義か?という気はする。
31: 2015/11/28(土)23:45 ID:R0seH/nX(13/13) AAS
ループでクイックソート書こうとするとスタック的なものを自前で用意せにゃならんのじゃないか。
めんどくさすぎ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s