X



なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net

0001デフォルトの名無しさん
垢版 |
2015/11/28(土) 18:51:38.86ID:Rc2MJzM/
なあ、再帰関数好きな人いる?
0412デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:28:09.10ID:9aquywWv
>>411
解釈が違うのなら話が噛み合わないことについては筋が通るかと。
0413デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:29:32.88ID:Zmrinoji
>>410
そもそもクイックソートは分割統治法の典型例だからなぁ。
自分を2度呼び出す時点で末尾再帰的じゃないし
ループらしい書き方をするとクイックソートとは呼べないシロモノになると思う
0414デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:30:37.18ID:Zmrinoji
あ、勿論クイックソートをもっと単純なループで書き直せるってんなら歓迎するよ!
0415デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:33:05.31ID:9aquywWv
>>413
一方の再帰呼び出しは末尾再帰になるっしょ。ループに置換できる。
0416デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:33:09.23ID:Zmrinoji
>>412
複数の解釈の仕方がありうるなら、
オレオレ解釈を元に相手をこき下ろす前にやることがあるだろうと
0418デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:37:56.44ID:9aquywWv
>>416
僕とー君とーは解釈が違うよねってことだよ。
こき下ろすべきじゃないと思うのは君の勝手ー。
こき下ろすのも僕の勝手ー。
ヒューマニズム振りかざす人大嫌いー。←これ僕
0419デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:39:20.40ID:9aquywWv
>>417
ループを書く場合、一方の再帰呼び出しは末尾再帰だから
単純なループに置き換えられるよねってことだから、もはや再帰関数とは呼ばないよ。
0420デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:42:10.80ID:Zmrinoji
>>418
いや、君が>>403で言ったのは「スタック管理」の解釈の違いだろ?
「赤黒木が再帰で書かれてる」等とは一言も言ってない>>379を読んだ君が>>408みたいな解釈をして、
人のことをテロリスト呼ばわりするのってどうなの?
0422デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:46:46.63ID:YWwZOVBb
末尾再帰を勘違いしている人がいるので説明しておこう。

末尾再帰は「再帰を末尾再帰で書けば速くなる」というものではなくて
(単純な)ループを何らかの理由で再帰の形にしないといけない時、
末尾再帰の条件を満たすように、ループを再帰に変換すると
コンパイラが再帰をループに逆変換してくれる機能


なので、再帰を全て末尾再帰にできるわけではなく
(末尾再帰にできるのは、元が単純なループの場合のみ)
また、ループ ─(人間)→ 再帰 ─(コンパイラ) → ループ
というふうに、ループに戻しているだけなのでループより速くなることはない。
0423デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:47:27.00ID:hwv/tSGM
>>401,404
FreeBSDのrbtreeもLinuxのrbtreeもそういうインターフェースを実装していないって事だよ。
0424デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:54:40.33ID:Zmrinoji
>>422
より正確には、「再帰全てをノーコストで末尾再帰にできるわけではなく」かな。
関数がファーストクラスならCPSに変換すれば末尾再帰の形にはなる。
・・・・・・ヒープガリゴリ使うし、スタックを自前で持つのと変わらんけど。
0425デフォルトの名無しさん
垢版 |
2015/12/27(日) 17:56:45.58ID:9aquywWv
>>420
>>379は「赤黒木が再帰で書かれてる」とは一言も言ってないけれども、
「赤黒木の操作を自前でスタック管理するアホはいない」と言っているのだから
赤黒木の操作は、自前でスタック管理しないやり方、つまり再帰で実装される
と思っているという解釈は妥当だと思ってる。悪いけど、この解釈については譲歩するつもりはないよ。
120%君が間違っているし、再帰を使う人は120%テロリスト。それでいいね?
0427デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:00:45.81ID:9aquywWv
>>421
無理。再帰を使うなら全部再帰で書くべき。
ループを使う処理では再帰を書かない。
再帰を使う処理ではループを書かない。
それで初めてループと再帰の決着がつけられる。
そしてループが勝利する。
0428デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:01:48.21ID:Zmrinoji
>>425
確率が1を超えてるとか、幼稚園に迷い込んだ気分だよ。

「赤黒木の操作を自前でスタック管理するアホはいない」と言っている以上、
赤黒木の操作は、スタックなんてものをそもそも自分で触らないようなやり方、
つまり再帰か、又は上手なループで実装されているって話だろ?
フィボナッチ数を計算する関数をスタックを使わずに書いたって言った時、君は再帰の方しか思い浮かべられないのかい?
もしかして自閉症患者かい?
0429デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:04:52.45ID:Zmrinoji
>>427
それじゃぁ各ノードに可変個の子要素を持つ多分木を列挙するコードは
どうやって書くつもり?
for (auto it : children) {
 if (it->is_leaf()) {
printf("%d ", it->value);
} else {
it->print_values();
}
}
0430デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:11:29.94ID:9aquywWv
>>428
>>389を見るに、そうじゃないと思うんだがなあ。
俺は自閉症患者だけれども、それとこれとは関係ない。
お前は全国の自閉症患者やそのご家族の方に謝罪するべき。
あとテロリストにも。
0431デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:15:49.41ID:9aquywWv
>>429
どうやってって何がだよ?
ループでか?再帰でか?
0432デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:18:05.73ID:Zmrinoji
>>430
日本語って難しいよね。分かる分かる。
>>389の解釈は、
再帰でも書けるところをループで書いたんだ。へぇ。バグってなくて良かったね。ご苦労さん。
じゃないの?
>>379が再帰を仮定しているかどうかとは別問題。

俺も自閉症患者だけどね。自分に謝るのって変な感じがするよ。
0433デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:18:46.64ID:Zmrinoji
>>431
どっちでも良いけど、どっちかしか「使ってはならない」というローカルルールの元ではどう書くの?
0435デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:53:56.10ID:9aquywWv
>>432
スタックで管理の解釈の違いだな。やっぱり噛み合わない。
0436デフォルトの名無しさん
垢版 |
2015/12/27(日) 18:57:04.25ID:9aquywWv
>>434
あのさ、同意も取らずに強引に物事を進めようとするのってどうかと思うよ。
北風と太陽って話くらい知ってるでしょ?コンセンサスってとても大事。
お前コンセントしか知らないだろ。扇風機の線をぶち込んどけば何とかなるものと
しか思ってないだろ。それじゃないからな。
まずは、どういう理由で書いてほしいのかっていうところと
それによって何が成し遂げられるのかっていうところとどうして自分で
やらないのかって言うところを説明して、心からお願いしないと俺の不動の心は動かないよ。
0437デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:08:44.13ID:Zmrinoji
>>435
残念。

>>436
ループを含む関数が再帰関数になれないのであれば、
>>429のような書き方は認めないって事だよね?
君ならどう書くの?って聞いただけなのになんでそんな反応になるのかね?
0438デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:10:20.46ID:/NTMuKoN
横道にそれ過ぎずに、それぞれの論旨を書いてみろよ。
中傷合戦ひどくてわからん。
0439デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:12:29.31ID:9aquywWv
>>437
ループと再帰の優劣をつける場合、ループはループだけで
再帰は再帰だけで実装するべきだよねって話をしただけだよ。
お話の前提をすり替えてあたかもお話が続いているように
するのはよろしくないと思うんだよな。
0440デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:13:53.77ID:9aquywWv
>>438
俺は畑を耕していただけなんだ。そしたら ID:Zmrinoji こいつが
機関銃もって脅してきたんだ。おらはイモが食いたいだけだ。再帰使うやつはテロリストだ。
恐ろしいことだ。
0441デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:14:42.52ID:Zmrinoji
>>438
大本の論旨としては、人のことをテロリスト呼ばわりするのってどうなん?って事なんだけど。

ループと再帰の優劣をつけるなんてどこから出てきた?
0442デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:19:02.12ID:9aquywWv
>>441
テロリストと呼ばれるのが嫌ならテロ行為やらなければいいだろ。
クイックソートでやってただろ。ループがいいか、再帰がいいかって。それのこと。
知らなかったの?じゃあ知って。今知って。
0443デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:19:34.89ID:Rer1VVak
バッファオーバーフロー攻撃を成功させるためには、再帰が最も都合よい。
0444デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:26:07.61ID:Rer1VVak
攻撃されるのと攻撃するのと、どちらが良いか?
当然、攻撃する方が良い。

つまりテロリストは勝ち組なのである。

当該スレにおいて再帰を推奨している人は勝ち組である。
なぜなら危険物を推奨するのは攻撃側だからである。
0445デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:30:06.01ID:9aquywWv
>>443
そういうことだな。昨今、関数型言語の流行に伴って再帰がすぐれたものであると
思い込んだニワカのペーペーどもがろくな知識も持たずに危険なコードを
書きまくって悦に入ってる姿を見ると暗い気持ちになる。再帰というのは
ループに大敗北した歴史を持つものだっていうのを知って欲しい。
for whileというのは再帰の進化形。メガ進化。
0446デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:33:08.96ID:Rer1VVak
お前ら逮捕されても知らんぞ。

公共の場所で再帰を勧めたりしてたら、そのうち警察が事情を聴きに来るぞ。
0447デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:40:05.96ID:Zmrinoji
どうでも良いけど、再帰がテロ行為になるなんて初耳だなぁ

# 今日の夕飯はすき焼きでした
0448デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:43:06.97ID:Rer1VVak
>>447
自動車の256バイトしかないRAMで再帰したら、バシバシ轢き殺すぞ。
そこまでやってこそ本物のテロリストだろ。
0449デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:49:26.35ID: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
「住民を威嚇する、または政府や国際組織を強制する、あるいは行動を自制させる目的で、
市民や非戦闘員に対して殺害または重大な身体的危害を引き起こす事を意図したあらゆる行動」
だそうですよ。

あと自動車の場合、バシバシ轢き殺すなんて事態にはならず、単にエンストするだけだと思うの。
フェイルセーフって知ってるよね?
0450デフォルトの名無しさん
垢版 |
2015/12/27(日) 19:55:14.65ID:Zmrinoji
>>440
> 俺は畑を耕していただけなんだ。そしたら ID:Zmrinoji こいつが
> 機関銃もって脅してきたんだ。おらはイモが食いたいだけだ。再帰使うやつはテロリストだ。
俺の知ってる事実と違うね。

俺は今日は364から話を始めた。そこにID:9aquywWvが388から割り込んできて、
人のことをやれテロリストだやれ機関銃をもって脅してきただ喚いてるの。
0451デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:01:43.77ID:Rer1VVak
>>450
テロリストは自分のことをテロリストだと思っていないんだよな。
聖戦士だと思ってる。
正義のために再帰を仕込むんだよな。

まあでも、国民側から見ればテロリストなんだけどな。
0452デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:02:57.65ID:Rer1VVak
再帰なんてある意味爆弾みたいなものだしな。
テロリストが使う新型爆弾なんじゃねーかな。
0453デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:07:24.21ID:Zmrinoji
そうやって正義の為にループを仕込むんだね?
よく分かったよ!

ちなみにバッファオーバーフローの攻撃手法としては再帰は下の下だからな。
getsなんかを使った方がよっぽど手っ取り早い上に任意コード実行まで出来る。
0454デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:08:29.75ID:9aquywWv
>>450
聞かれたから答えてたけど、>>388は君に対するレスじゃないよ。
0456デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:12:06.44ID:9aquywWv
>>455
割り込んでないよね。テロリストと糾弾されて君が勝手にファビョッただけだよね。
僕は畑耕してただけ。
0457デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:15:26.35ID:Zmrinoji
>>456
文脈をよく読もう。
364から始まる再帰とループに関する話に混ざった379に君が割り込んでるね?
0458デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:17:05.55ID:Rer1VVak
>>457
アッラーアクバル。
0459デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:17:12.93ID:TQTcd7lL
テロリスト(笑)
アホかな?
0461デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:17:55.10ID:9aquywWv
>>457
割り込んでないね。僕は>>379に話しかけただけだね。
君が>>379とお話したかったのなら>>379に話しかけるべきだね。
0463デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:25:14.94ID:Zmrinoji
>>460
いわゆる暇人という奴では。

>>461
木構造って知ってる?

あと、俺はそのレス(>>379)にその返し(>>388)って変じゃね?って言っただけで、
それに対して君が「スタックの管理とは」なんて話を始めるから(>>403)
そのコード(>>398)の何処にスタックなんて使われてるんですか―って訊いて(>>405)
それに対してまだ答えが返ってきてないんだけど。
君はあれかな、都合の悪い質問は見なかったことにする人なのかな。
0464デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:29:09.10ID:9aquywWv
>>463
なんで僕にレスしてくるの?
自分が話したいことがあるならそれを話せばいいじゃん。

僕は僕で自分の話したい話を話したい人とするから。
たまたま>>379だったってだけで君が>>379と話したいなら
僕はそれを否定しないよ。割り込まれたとも思わない。

ほら話しかけろよ。>>379も絶対お前のこと好きだって。
言っちゃえよ。好きだって言っちゃえよ!
0466デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:31:26.39ID:9aquywWv
>>465
僕もだよ
0470デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:36:11.58ID:9aquywWv
>>467
違うんだ、待ってくれ、君のことをテロリストと言ったんじゃない。
再帰を使う人はテロリストなんだ。君じゃない。
0472デフォルトの名無しさん
垢版 |
2015/12/27(日) 20:39:37.16ID:9aquywWv
>>471
では準構成員ということでここはひとつ
0479uy ◆Qawu9.2l1E
垢版 |
2015/12/28(月) 14:13:49.28ID:FI1ndW8l
私生活において自分ほど品性の高い奴はそうそういないよ
何をしていてもカリスマ性があふれ出してしまう
0480uy ◆Qawu9.2l1E
垢版 |
2015/12/28(月) 14:17:04.49ID:FI1ndW8l
「しね」というのは、実は奥の深い言葉なんだけど知っていましたか?
プログラム中でいえばNULLと似ている

人はなぜ生きるのか、なぜ死なないのか、
その真理を見つける事は誰も出来ていない
よって「死」とは恐怖かもしれないし、救いかもしれない
つまり正解でも不正解でも無い
それゆえに「しね」という言葉を発しても、敵と味方は最終的に五分にしかならない意味のない言葉なんです
だから頻繁に使っていくと良いよ
0482デフォルトの名無しさん
垢版 |
2015/12/28(月) 14:59:07.57ID:kIejf3VS
>>480
しね
0486デフォルトの名無しさん
垢版 |
2015/12/29(火) 05:16:02.68ID:GnldGbIR
>>423
インターフェースとか抽象データ型ってことを理解できてないから、
そう言っただけでは理解できないんだと思うよ。
0490デフォルトの名無しさん
垢版 |
2015/12/30(水) 07:30:40.60ID:hgJXqSbV
>>489
>422 「再帰を全て末尾再帰にできるわけではな」いのは当然だが,どうしてはずかしいんだ?
0491デフォルトの名無しさん
垢版 |
2015/12/30(水) 16:36:10.59ID:GbTfiPvb
> コンパイラが再帰をループに逆変換してくれる機能
恥ずかしい発言はこれだね。
0493デフォルトの名無しさん
垢版 |
2015/12/30(水) 17:07:27.17ID:WCUOMmTt
掲示板ではレベルのミスマッチがよくあるんだよな。

たとえば、アセンブリと機械語は一対一で対応していると純粋に信じてる人は世の中に結構多い。
そういう人たちとプロセッサのデザイナが掲示板で議論すると当然ミスマッチが起こる。
こういう場合、当然勢力の面でデザイナの方が分が悪くなるね。
世の中、知ったかぶりのバカの方が多いから。
0494デフォルトの名無しさん
垢版 |
2015/12/30(水) 17:08:24.47ID:JfqdTNxj
手動で末尾最適化をしてみればいいんだよ。

そうすれば、なるほど、
これが最適化されたコードなんだな!って
ループになったコードを目の当たりにすることになる。
0495uy ◆Qawu9.2l1E
垢版 |
2015/12/30(水) 17:28:38.17ID:hD2EQx+W
そういう周りくどい事やってるうちは三流
uyの領域に到達すると文章読むだけで理解する
0497デフォルトの名無しさん
垢版 |
2015/12/30(水) 18:05:13.50ID:WCUOMmTt
再帰の方が有利なら、わざわざループに変換するなよ。
むしろ、ループを自動的に再帰に変換しろよ。
0499デフォルトの名無しさん
垢版 |
2015/12/30(水) 18:35:57.34ID:WCUOMmTt
テロリストは逮捕されろよ。
0502デフォルトの名無しさん
垢版 |
2015/12/30(水) 19:10:36.15ID:Y9esFwyM
>>501
> それは文脈による,

だからこの文脈だと意味不明って言ってるんだが

> よく逆電圧っていうが実は順電圧だったりすることはあるし

ますます意味不明
0503デフォルトの名無しさん
垢版 |
2015/12/30(水) 19:20:03.93ID:pyiqU+eC
>>502
この分からず屋!!
0505デフォルトの名無しさん
垢版 |
2015/12/30(水) 21:56:06.02ID:WCUOMmTt
我々市民はテロリストを納得させるような言葉を持たない。
従って、テロリスト自ら変わらない限り、テロリストは永遠に市民の敵である。
0506デフォルトの名無しさん
垢版 |
2015/12/31(木) 01:15:35.98ID:+JFM0ZYm
>>496
キミの方だとおもうよ。ぷぷぷ。
「末尾再帰は... コンパイラが再帰をループに変換してくれる機能」

> 末尾再帰は「再帰を末尾再帰で書けば速くなる」というものではなくて
> (単純な)ループを何らかの理由で再帰の形にしないといけない時、
> 末尾再帰の条件を満たすように、ループを再帰に変換すると
> コンパイラが再帰をループに逆変換してくれる機能
0507デフォルトの名無しさん
垢版 |
2015/12/31(木) 01:18:23.37ID:+JFM0ZYm
>>496
それは、「末尾再帰最適化」というコンパイラの機能だね。
0508デフォルトの名無しさん
垢版 |
2015/12/31(木) 01:21:18.07ID:+JFM0ZYm
「ループを再帰に変換すると、コンパイラが再帰をループに逆変換してくれる」
頭沸いてるだろ。ぷぷぷ。最初からループで書いとけよ。
0509デフォルトの名無しさん
垢版 |
2015/12/31(木) 02:10:00.81ID:RPyreEna
そんなんじゃ小説なんか読めないだろう。
読解力なさすぎだよ。
0510デフォルトの名無しさん
垢版 |
2015/12/31(木) 02:17:21.09ID:+JFM0ZYm
読解力が足りないとか言いだしたぞ。このバカ。

> ループを再帰に変換すると、コンパイラが再帰をループに逆変換してくれる機能
0511デフォルトの名無しさん
垢版 |
2015/12/31(木) 02:26:21.16ID:Rb2meO2K
>>490
再帰はすべて機械的に末尾再帰に変換できる。
そんな基本的なことも知らないのは恥ずかしいだろう?
レスを投稿する


ニューススポーツなんでも実況