- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
666 :デフォルトの名無しさん[sage]:2015/09/05(土) 04:48:42.79 ID:Bq/cKCjD - どっちの書き方も使うからどっちが良いも悪いも邪道もどうもない
ただし再帰のを話題にするなら、一回その楽な書き方で書いてから、正しい書き方に直すような前提の話になる CPUやメモリを隠してる状態でこの話は有り得ない 再帰かどうかと言うのは、CPUとメモリの使いかた (の人間的な概念) を指すものだから。 この手の話題を出す限りは、Pythonが仕様書兼動作テストで、それを手動最適化して直したのが Cの実装 なんてのも十分有り得る ま、さらに深くまで考慮するとまったく区別のしようがない同じ物なんだけどね。 ちょっと前に Rubyでしか使えないRuby用語の配列を、まるで本物の配列のように思い込んでた人がいたね。 再帰も再帰でそれと同じ。もちろんループも。 特定の言語内部だけの話ならそちらのスレにどうぞ。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
669 :デフォルトの名無しさん[sage]:2015/09/05(土) 06:59:39.65 ID:Bq/cKCjD - わお。まるで俺が返信したみたい。
まぁ俺も同じことを聞こうか >>667 それで言いたいことはなにかな?
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
671 :デフォルトの名無しさん[sage]:2015/09/05(土) 07:42:48.23 ID:Bq/cKCjD - うわー
馬鹿しかいねぇ
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
672 :デフォルトの名無しさん[sage]:2015/09/05(土) 07:45:22.49 ID:Bq/cKCjD - 失礼。すまなんだ。よけいな発言だった
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
674 :デフォルトの名無しさん[sage]:2015/09/05(土) 08:50:03.58 ID:Bq/cKCjD - そこで再帰かどうかは決まらないんだけど。
でもあえてそこで決めるのならば(その話に乗るのならば)、手順 (もしくはそれに相当するもの) を覚えている物が再帰。 sum = sum + i; これは現在の状態しか保持しない。 構造を検索するもの、…例えばディレクトリとファイル検索で whileだけを使ったとしても、 出てきたそれぞれのファイル対し、そのアドレスを記録したら、 それは処理における必要資源量の理論最低値は再帰と等価
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
677 :デフォルトの名無しさん[sage]:2015/09/05(土) 09:02:33.33 ID:Bq/cKCjD - 会話が成り立ってねぇ
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
680 :デフォルトの名無しさん[sage]:2015/09/05(土) 09:06:13.64 ID:Bq/cKCjD - あんた
for(int i = 1; i <= 10; i++) { sum = sum + i; } これを再帰って言ったでしょうに。 これはスタックの保存じゃなくて上書きっつーの
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
683 :デフォルトの名無しさん[sage]:2015/09/05(土) 09:21:52.97 ID:Bq/cKCjD - それはスタックじゃねぇ
a = 0; a = a + 1; a = a + 2; 以上の三行は再帰とは呼ばない 再帰と言うのは最終段階の55の瞬間に今までの経緯を覚えてて そこで初めて再帰と必要資源量の (理論最低値の) 釣り合いが取れます。 例えば配列に 1, 2, 4, 7, 11,… と記録したらそこで初めてある側面で再帰と同じ資源量
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
684 :デフォルトの名無しさん[sage]:2015/09/05(土) 09:25:47.84 ID:Bq/cKCjD - いや再帰っつーのは終わるまで必ず自身がどの手順でそこの処理に居るのかが記録されてるから。
必要がないもくそもない
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
686 :デフォルトの名無しさん[sage]:2015/09/05(土) 09:29:04.79 ID:Bq/cKCjD - さいならー
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
696 :デフォルトの名無しさん[sage]:2015/09/05(土) 10:19:30.35 ID:Bq/cKCjD - な、
会話するの難しいだろ
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
709 :デフォルトの名無しさん[sage]:2015/09/05(土) 11:23:13.73 ID:Bq/cKCjD - いっぱい突っ込みどころがあるけどそれは置いといて、
今ひとつピンと来たものがある。 よくよく思い出すと「再帰処理」と「再帰関数」と言う似てるけど別の概念がある。 それを失念していた。 なおスレタイは再帰関数である。
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
711 :デフォルトの名無しさん[sage]:2015/09/05(土) 11:34:56.98 ID:Bq/cKCjD - だよ、じゃねぇよ
100のうち俺の失念であろう1だ 会話が成り立ってなさすぎるからどうでもいいんだが >コールスタックを実装したら、当然再帰関数呼び出しも実装したことになる
|
- なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
753 :デフォルトの名無しさん[sage]:2015/09/05(土) 19:37:09.10 ID:Bq/cKCjD - まず定義に逆らうのやめろよ。
再帰は自己よ呼び出す関数だ。当然実行中の処理手順は無条件にスタックされる。 そして都合よく「再帰」と「ループ」を分けて見たり、全部再帰と言って見たり挙動不審なことをするのもやめれよ。 もはや会話が成り立たん。 ちなみに俺の場合は、一番最初の冒頭のレスで「極論的には再帰もループも同じ」 とした上で、その後は一貫して再帰とループを区別してんだよ。 すなわちCの状態のように関数とスタックの抽象化が出来てる状態で初めてループと再帰があるんだ。 君がやってることは犬小屋も本棚もどっちも「木」で出来てるから同じと言って見たり、 犬小屋と本棚は別物のように書いて見たり、 木の状態を指してこれは「犬小屋」と言って見たり、 「本棚」を指して「犬小屋」と言って見たり、 そもそもなんの話をしてるか分からなくなって見たり。
|