タグ付けされた質問 「recursion」

再帰は、関数がそれ自体を呼び出す一種の関数呼び出しです。このような関数は、再帰関数とも呼ばれます。構造的再帰は、問題を解決する方法であり、問​​題の解決策は同じ問題の小さなインスタンスの解決策に依存します。



14
フラットテーブルをツリーに解析する最も効率的でエレガントな方法は何ですか?
順序付けられたツリー階層を格納するフラットテーブルがあるとします。 Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 これが図[id] Nameです。ルートノード0は架空のものです。 [0]ルート / \ [1]ノード1 [3]ノード2 / \ \ [2]ノード1.1 [6]ノード1.2 [5]ノード2.1 / [4]ノード1.1.1 …

10
特定の拡張子を持つファイルを再帰的に探します
私はbash(最新のUbuntu LTSリリース)を使用して、ディレクトリ内の特定の拡張子を持つすべてのファイルとそのサブディレクトリを検索しようとしています。 これはスクリプトファイルに記述されているものです。 #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*; do echo "dir :$directory" echo "filename: $i" # echo ${i#*.} extension=`echo "$i" | cut -d'.' -f2` echo "Erweiterung $extension" if [ -f "$i" ]; then if [ $extension == $suffix ]; then echo "$i ends with $in" else …
437 linux  bash  recursion 

17
Pythonの最大再帰深度はどのくらいですか、それを増やす方法は?
私はこの末尾再帰関数をここに持っています: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) それはまで機能しn=997、その後、壊れて吐き出しRecursionError: maximum recursion depth exceeded in comparisonます。これは単なるスタックオーバーフローですか?それを回避する方法はありますか?
421 python  recursion 

17
サブディレクトリと時間を含むディレクトリで最新の変更されたファイルを再帰的に検索してリストする方法は?
オペレーティングシステム:Linux ファイルシステムタイプ:ext3 推奨される解決策:bash(script / oneliner)、ruby、python いくつかのサブディレクトリとその中にファイルがあるいくつかのディレクトリがあります。これらすべてのディレクトリのリストを作成する必要があります。すべての第1レベルディレクトリが、その中で最後に作成/変更されたファイルの日付と時刻の隣に表示されるように構成されています。 明確にするために、ファイルに触れたり、その内容をいくつかのサブディレクトリレベルで変更したりすると、そのタイムスタンプが第1レベルのディレクトリ名の横に表示されます。次のような構造のディレクトリがあるとします。 ./alfa/beta/gamma/example.txt そして、ファイルの内容を変更しますexample.txt。その時間alfaは、エポックではなく、人間が読める形式で第1レベルのディレクトリの横に表示される必要があります。私は、検索を使用していくつかのことを試してみたxargs、sortと同類が、私は、私がダウンして修正ファイルに/いくつかのレベルを作成するときに「アルファ」のファイルシステムのタイムスタンプが変更されないという問題が周りに取得することはできません。

19
再帰から反復への道
私は長年のプログラミングでかなりの再帰を使用して単純な問題を解決してきましたが、メモリ/速度の問題のために反復が必要な場合があることは十分に承知しています。 それで、私は非常に過去のある時期に、一般的な再帰アプローチを反復に変換する「パターン」またはテキストブックの方法が存在するかどうかを調べてみましたが、何も見つかりませんでした。または、少なくとも私がそれを覚えていることは何の助けにもなりません。 一般的なルールはありますか? 「パターン」はありますか?


10
複数のファイルで文字列を検索し、Powershellでファイルの名前を返す方法は?
私は2日前にpowershellの学習を開始しましたが、必要なことを行うものをGoogleで見つけることができなかったので、私の質問に耐えてください。 一部のテキスト文字列を複数のファイルに置き換えるように依頼されました。私は必ずしも可能なターゲットファイルの拡張子を知っているわけではなく、それらの場所も知りません。これまでのところ、ディレクトリ(get-ChildItem -recurse)を再帰的に参照して、get-contentおよびselect-stringで探していた文字列を見つけることができました。 Get-ChildItem -recurse | Get-Content | Select-String -pattern "dummy" 問題は、探しているテキストの出現を確認できますが、一致するすべてのファイルのパスと名前も返すようにPSに指示する方法がわかりません。 探している式を含むファイルの名前と場所を取得するにはどうすればよいですか?

12
再帰はループよりも速いですか?
再帰はループよりもクリーンな場合があることを知っています。反復に対して再帰をいつ使用するべきかについては何も質問していません。これについては多くの疑問がすでにあることを知っています。 私が求めていることは、ある再帰で、これまでより高速ループよりも?私には、ループが常に新しいスタックフレームをセットアップすることがないため、ループを改良して再帰関数よりも速く実行できるように思えます。 一部の並べ替え関数やバイナリツリーなど、再帰がデータを処理する正しい方法であるアプリケーションで、再帰がより高速であるかどうかを具体的に探しています。

5
再帰関数の複雑さの決定(Big O表記)
明日はコンピュータサイエンス中間期に参加します。これらの再帰関数の複雑さを判断する手助けが必要です。私は単純なケースを解決する方法を知っていますが、私はまだこれらの難しいケースを解決する方法を学習しようとしています。これらは、私が理解できなかった問題のほんの一例にすぎません。どんな助けでも大いに感謝され、私の研究に大いに役立ちます、ありがとう! int recursiveFun1(int n) { if (n <= 0) return 1; else return 1 + recursiveFun1(n-1); } int recursiveFun2(int n) { if (n <= 0) return 1; else return 1 + recursiveFun2(n-5); } int recursiveFun3(int n) { if (n <= 0) return 1; else return 1 + recursiveFun3(n/5); } void …

24
Javaでファイルを再帰的にリストする
Javaのディレクトリにあるすべてのファイルを再帰的にリストするにはどうすればよいですか?フレームワークはユーティリティを提供しますか? ハックな実装をたくさん見ました。しかし、フレームワークやnioからのどれも
258 java  file  recursion  java-7  nio 

30
再帰か反復か?
両方で同じ目的を果たすことができるアルゴリズムで、再帰ではなくループを使用した場合、またはその逆の場合、パフォーマンスに影響がありますか?例:指定された文字列が回文かどうかを確認します。多くのプログラマーが再帰を使用して、単純な反復アルゴリズムがうまく機能する時期を自慢する方法を見てきました。コンパイラーは、何を使用するかを決定する上で重要な役割を果たしますか?

20
再帰を理解する[終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 学校での再帰の理解に大きな問題があります。教授が話をしているときはいつでもそれを理解しているようですが、自分で試してみるとすぐに完全に頭が痛くなります。 私はハノイの塔を一晩中解決しようとしていて、心を完全に吹き飛ばしました。私の教科書は再帰が約30ページしかないので、あまり役に立ちません。このトピックを明確にするのに役立つ本やリソースを知っている人はいますか?

14
Linux CLIで現在のディレクトリからの相対パスでファイルを再帰的に一覧表示する
これはこの質問に似ていますが、現在のディレクトリへの相対パスをUNIXに含めたいと思います。次の場合: ls -LR | grep .txt フルパスは含まれていません。たとえば、次のディレクトリ構造があります。 test1/file.txt test2/file1.txt test2/file2.txt 上記のコードは次を返します: file.txt file1.txt file2.txt 標準のUnixコマンドを使用して、現在のディレクトリからの相対パスを含めるにはどうすればよいですか?
224 linux  unix  recursion  ls 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.