- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
364 :デフォルトの名無しさん[sage]:2015/12/27(日) 09:33:20.24 ID:Zmrinoji - 分かったことは
・再帰をただ単にループに直すと却って遅くなる ・最適化を施せばループのほうが速くなるが、10000倍速くなるなんてことはない の2点でおっけい?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
367 :デフォルトの名無しさん[sage]:2015/12/27(日) 10:24:13.63 ID:Zmrinoji - >>366
昨日から昨晩に掛けてのやり取りを知らないのか? 俺はそのやり取りから、>>364が分かった事の全てであるって発言しただけなんだけど。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
371 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:22:49.99 ID:Zmrinoji - >>368
お前の中ではそうなんだろうな。そんな事より現実を見ろよ。 大本の彼らの主張は「クイックソートをお題にした場合に於いて再帰はループに比べて何万倍も差がでる(>>219)」 俺らの主張は「そんなに差がでることは理論的にありえない(>>286)」 であって、 ループのほうが再帰より「僅かでも」速いかどうか(>>352-353)なんざ元々議論していない。 クイックソートをやる上で比較にならないほど再帰のほうが遅くなるというならソースを出せや
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
373 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:23:33.41 ID:Zmrinoji - >>370
>>325
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
375 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:32:56.76 ID:Zmrinoji - >>374
>>260 定数オーダーの空間計算量で計算が出来ないなら、原理的に余分なメモリ操作は避けられない。 それはループでも一緒。
|
- プログラマー目指してるんだが色々と教えてくれ [無断転載禁止]©2ch.net
199 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:39:08.98 ID:Zmrinoji - 時計盤の・・・・・・
|
- LISPって実際どうなの... [無断転載禁止]©2ch.net
10 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:53:00.15 ID:Zmrinoji - Common Lispから始めるならOn Lispって本がお勧め。
難易度は高いけど、必要なことやCommon Lispで出来ることが沢山書かれてる。 より高度なことを知りたいならLet Over Lambdaって本を次に読むべき。
|
- LISPって実際どうなの... [無断転載禁止]©2ch.net
11 :デフォルトの名無しさん[sage]:2015/12/27(日) 11:55:35.87 ID:Zmrinoji - Yahoo! Storeの元になったVia webの作者の一人は、JavaよりScheme(Lispの一種)の方が簡単だって言ってる。
Schemeで雰囲気を掴んでからCommon Lispに入るのも悪くないかも。 http://local.joelonsoftware.com/wiki/Java%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%E3%81%AE%E5%8D%B1%E9%99%BA 「教育言語のSchemeはとてもシンプルで、この言語を頭のいい学生に教えるのには10分くらいしかかからない。」
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
380 :デフォルトの名無しさん[]:2015/12/27(日) 12:27:15.41 ID:Zmrinoji - >>377
ほい、最適化しなければループのほうが遅い証拠。 http://www.fastpic.jp/images.php?file=8506909875.png
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
382 :デフォルトの名無しさん[sage]:2015/12/27(日) 12:35:34.85 ID:Zmrinoji - >>378
Pen4のデータシートの値を元にするなら ループのコストと再帰のコストは約2.5〜3clockくらいの差になると思う。 今時のCPUならもっと差は縮まるだろうし、実際に測った訳じゃないけど だいたいそのくらいになる筈。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
383 :デフォルトの名無しさん[sage]:2015/12/27(日) 12:38:44.94 ID:Zmrinoji - >>381
最適化が無くてもループの方が「僅かでも」速いって言い張るお前に そうじゃない場合もあるって言ったのが>>373 で、それに対しお前はネイティブコードで比較しろっつーから 「最適化無しのネイティブコードで」比較したんだが。 一体お前は何を求めてるんだ?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
385 :デフォルトの名無しさん[sage]:2015/12/27(日) 12:42:13.97 ID:Zmrinoji - >>384
ループ以外の本質的な処理に100clock掛かるとすれば、 数%の差だけどループより再帰のが遅くなるって意見は正しいねって話さね 381については了解
|
- LISPって実際どうなの... [無断転載禁止]©2ch.net
22 :デフォルトの名無しさん[sage]:2015/12/27(日) 12:47:15.76 ID:Zmrinoji - >>21
ggrks GTK+とかTkとかをバインドした奴があるらしいよ
|
- プログラマー目指してるんだが色々と教えてくれ [無断転載禁止]©2ch.net
203 :デフォルトの名無しさん[sage]:2015/12/27(日) 16:43:57.65 ID:Zmrinoji - 日本式ローマ字の事も思い出してあげてください
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
402 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:01:14.29 ID:Zmrinoji - >>399
ねぇねぇ そのループで実装されてる>>398のコードでも 自前でスタック管理してる訳じゃ無い。 とすると、>>379に対する突っ込みとしては>>388変じゃない?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
405 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:04:55.68 ID:Zmrinoji - >>403
ほう、つまり君はただのループをスタック管理と解釈する訳だね?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
407 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:07:35.61 ID:Zmrinoji - >>406
確かに。 >>256から数えて、1日半で150も伸びてる。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
411 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:26:57.17 ID:Zmrinoji - >>408
ふーむ。 複雑な再帰構造を持つ場合、例えば再帰下降構文解析器みたいに複雑な相互再帰をする場合には クイックソートの時のように簡単に再帰をループで置き換えることは出来ない。 そして一般に再帰をループで置き換えるならスタックが必要で、 込み入った再帰をスタックを使ってでもループに置き換える奴は居ないだろう。 現に赤黒木をスタック管理をしてでも強引にループで書き直すようなアホは居ないんじゃないの? というのが>>379に関するこっちの解釈。 それに対し、いやいや赤黒木はループで実装してるんだぜ!ってのが>>388の俺の解釈。 話が噛み合って無くね?ってのが>>402 日本語の問題な気も
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
413 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:29:32.88 ID:Zmrinoji - >>410
そもそもクイックソートは分割統治法の典型例だからなぁ。 自分を2度呼び出す時点で末尾再帰的じゃないし ループらしい書き方をするとクイックソートとは呼べないシロモノになると思う
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
414 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:30:37.18 ID:Zmrinoji - あ、勿論クイックソートをもっと単純なループで書き直せるってんなら歓迎するよ!
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
416 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:33:09.23 ID:Zmrinoji - >>412
複数の解釈の仕方がありうるなら、 オレオレ解釈を元に相手をこき下ろす前にやることがあるだろうと
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
417 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:34:13.75 ID:Zmrinoji - >>415
・・・・・・それは依然として再帰関数と呼ぶのでは?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
420 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:42:10.80 ID:Zmrinoji - >>418
いや、君が>>403で言ったのは「スタック管理」の解釈の違いだろ? 「赤黒木が再帰で書かれてる」等とは一言も言ってない>>379を読んだ君が>>408みたいな解釈をして、 人のことをテロリスト呼ばわりするのってどうなの?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
421 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:43:59.16 ID:Zmrinoji - >>419
https://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0 「再帰とは、あるものについて記述する際に、記述しているものそれ自身への参照が、その記述中にあらわれることをいう。」 ループを含む関数は再帰関数にはなれないの? そんなことはないと思うんだけど。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
424 :デフォルトの名無しさん[sage]:2015/12/27(日) 17:54:40.33 ID:Zmrinoji - >>422
より正確には、「再帰全てをノーコストで末尾再帰にできるわけではなく」かな。 関数がファーストクラスならCPSに変換すれば末尾再帰の形にはなる。 ・・・・・・ヒープガリゴリ使うし、スタックを自前で持つのと変わらんけど。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
428 :デフォルトの名無しさん[sage]:2015/12/27(日) 18:01:48.21 ID:Zmrinoji - >>425
確率が1を超えてるとか、幼稚園に迷い込んだ気分だよ。 「赤黒木の操作を自前でスタック管理するアホはいない」と言っている以上、 赤黒木の操作は、スタックなんてものをそもそも自分で触らないようなやり方、 つまり再帰か、又は上手なループで実装されているって話だろ? フィボナッチ数を計算する関数をスタックを使わずに書いたって言った時、君は再帰の方しか思い浮かべられないのかい? もしかして自閉症患者かい?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
429 :デフォルトの名無しさん[sage]:2015/12/27(日) 18:04:52.45 ID:Zmrinoji - >>427
それじゃぁ各ノードに可変個の子要素を持つ多分木を列挙するコードは どうやって書くつもり? for (auto it : children) { if (it->is_leaf()) { printf("%d ", it->value); } else { it->print_values(); } }
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
432 :デフォルトの名無しさん[sage]:2015/12/27(日) 18:18:05.73 ID:Zmrinoji - >>430
日本語って難しいよね。分かる分かる。 >>389の解釈は、 再帰でも書けるところをループで書いたんだ。へぇ。バグってなくて良かったね。ご苦労さん。 じゃないの? >>379が再帰を仮定しているかどうかとは別問題。 俺も自閉症患者だけどね。自分に謝るのって変な感じがするよ。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
433 :デフォルトの名無しさん[sage]:2015/12/27(日) 18:18:46.64 ID:Zmrinoji - >>431
どっちでも良いけど、どっちかしか「使ってはならない」というローカルルールの元ではどう書くの?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
434 :デフォルトの名無しさん[sage]:2015/12/27(日) 18:47:59.48 ID:Zmrinoji - >>431
まだ出来ないの? >>429に7行で書いたような、こんなコードが走ります的な切れ端で十分伝わるんだよ?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
437 :デフォルトの名無しさん[sage]:2015/12/27(日) 19:08:44.13 ID:Zmrinoji - >>435
残念。 >>436 ループを含む関数が再帰関数になれないのであれば、 >>429のような書き方は認めないって事だよね? 君ならどう書くの?って聞いただけなのになんでそんな反応になるのかね?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
441 :デフォルトの名無しさん[sage]:2015/12/27(日) 19:14:42.52 ID:Zmrinoji - >>438
大本の論旨としては、人のことをテロリスト呼ばわりするのってどうなん?って事なんだけど。 ループと再帰の優劣をつけるなんてどこから出てきた?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
447 :デフォルトの名無しさん[sage]:2015/12/27(日) 19:40:05.96 ID:Zmrinoji - どうでも良いけど、再帰がテロ行為になるなんて初耳だなぁ
# 今日の夕飯はすき焼きでした
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
449 :デフォルトの名無しさん[sage]:2015/12/27(日) 19:49:26.35 ID:Zmrinoji - >>448
誰がそこまで特殊でオンボロな例を挙げろと ちなみにテロリストの定義はテロリズムを奉ずる人で、 テロリズムの定義は https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%AD%E3%83%AA%E3%82%BA%E3%83%A0#.E5.9B.BD.E9.9A.9B.E9.80.A3.E5.90.88 「住民を威嚇する、または政府や国際組織を強制する、あるいは行動を自制させる目的で、 市民や非戦闘員に対して殺害または重大な身体的危害を引き起こす事を意図したあらゆる行動」 だそうですよ。 あと自動車の場合、バシバシ轢き殺すなんて事態にはならず、単にエンストするだけだと思うの。 フェイルセーフって知ってるよね?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
450 :デフォルトの名無しさん[sage]:2015/12/27(日) 19:55:14.65 ID:Zmrinoji - >>440
> 俺は畑を耕していただけなんだ。そしたら ID:Zmrinoji こいつが > 機関銃もって脅してきたんだ。おらはイモが食いたいだけだ。再帰使うやつはテロリストだ。 俺の知ってる事実と違うね。 俺は今日は364から話を始めた。そこにID:9aquywWvが388から割り込んできて、 人のことをやれテロリストだやれ機関銃をもって脅してきただ喚いてるの。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
453 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:07:24.21 ID:Zmrinoji - そうやって正義の為にループを仕込むんだね?
よく分かったよ! ちなみにバッファオーバーフローの攻撃手法としては再帰は下の下だからな。 getsなんかを使った方がよっぽど手っ取り早い上に任意コード実行まで出来る。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
455 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:10:16.23 ID:Zmrinoji - >>454
知ってるよ? でも再帰使うやつはテロリスト発言で敵を増やしてないかい?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
457 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:15:26.35 ID:Zmrinoji - >>456
文脈をよく読もう。 364から始まる再帰とループに関する話に混ざった379に君が割り込んでるね?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
462 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:18:53.79 ID:Zmrinoji - >>458
そうだね、偉大だね。 スプンタ・マンユに祈りを!(宗教ちげぇ)
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
463 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:25:14.94 ID:Zmrinoji - >>460
いわゆる暇人という奴では。 >>461 木構造って知ってる? あと、俺はそのレス(>>379)にその返し(>>388)って変じゃね?って言っただけで、 それに対して君が「スタックの管理とは」なんて話を始めるから(>>403) そのコード(>>398)の何処にスタックなんて使われてるんですか―って訊いて(>>405) それに対してまだ答えが返ってきてないんだけど。 君はあれかな、都合の悪い質問は見なかったことにする人なのかな。
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
465 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:29:57.74 ID:Zmrinoji - >>464
暇潰しに最適なので大好きです
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
467 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:32:45.93 ID:Zmrinoji - >>466
それで、人のことをテロリスト呼ばわりするのってどうなん?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
469 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:34:10.68 ID:Zmrinoji - >>469
必死乙
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
471 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:37:37.99 ID:Zmrinoji - >>470
つまり、>>469で示したように再帰を使う俺はどっち?
|
- なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
473 :デフォルトの名無しさん[sage]:2015/12/27(日) 20:40:19.12 ID:Zmrinoji - >>472
笑ったから良いやww
|