問題タブ [non-recursive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 再帰的順列、エリス ホロウィッツ アルゴリズム、およびデータ構造の混乱。
大学1年の初心者プログラマーです。私の家庭教師は、再帰アルゴリズムについていくつかの調査を行い、それを非再帰にするように私たちに依頼しました。いや、いくらやっても無理そうです。質問は次のとおりです
A は文字列 (例: A = "hello") であり、抽象化である exchange は A の k 番目の文字を i 番目の文字と交換します。こんにちは" から "hlelo")。
アイデアは、可能なすべての順列を出力することです.C++のバージョンは読み取ります
私の家庭教師は、ホロウィッツの本「アルゴリズムとデータ構造」にのみ登場する ADL と呼ばれる言語を使用することを非常に好みます。彼は ADL で質問を提起したので、そのコードも追加します。非常に理解しやすいです。
助けてくれる人に感謝します。マーティン
delphi - Delphiでタイマーを使用して非再帰コードから抜け出す方法はありますか
私はDelphiでURLをチェックしてそれらが稼働しているかどうかを確認するプログラムを作成しています。問題は、一部の Web サイトではこのアクションに少し時間がかかることです。10秒くらいでギブアップしてほしいです。私の質問は、一定の時間が経過した後にチェックを停止し、チェックするリストの次の項目に移動する方法はありますか?
更新コードを入れていないことをお詫びします。質問ではなく、必要なコードの量を特定しようとしています。
http.Head(url); を実行しているように
10 秒後に試行を停止するにはどうすればよいでしょうか
c - 10 進数から非 10 進数への変換と印刷 (文字列、配列、再帰なし)
10 進数を非 10 進数形式 (任意、ユーザー入力によって指定) に変換して出力する方法についてのアイデアが必要です。制限は、配列と文字列が許可されていないことです。そのための再帰関数を作成しましたが、同じことに対して非再帰メソッドを考えています。
重要な/深刻なものよりも、個人的な挑戦/エクササイズのほうが多いので、どこに自分を突き刺すかを気軽に教えてください.
注: この演習では C を使用しています。
java - 巨大行列 Java の行列式
私は BigInteger クラスを使用して暗号化メソッドを実装する必要がある Java でプロジェクトを作成しています。
n が 200 の正方行列 nxn があり、行列式を計算する必要があります。サブマトリックスの行列式を使用してメソッドを実行しましたが、計算に時間がかかります。
行列式を計算する非再帰的な方法はありますか?
前もって感謝します。
copy - Solaris が複数のディレクトリから単一のディレクトリにファイルをコピーする
ソース サブディレクトリの特定のセット (数百個) から「フラットな」ディレクトリ構造にファイルを定期的にコピーする必要があります。つまり、複数のソース ディレクトリのすべてのファイルを 1 つの宛先ディレクトリにコピーしたいのですが、できません。ソースサブディレクトリを調べて、宛先ディレクトリにサブディレクトリフォルダー構造を再作成しないファイルをコピーできるコピー方法を見つけたようです。
どんな助けでも感謝します。
algorithm - 非再帰的アプローチでグラフの深さ優先検索を実装する方法
私はこの問題に多くの時間を費やしてきました。ただし、ツリーの非再帰的な方法でのみ解決策を見つけることができます。ツリーの非再帰的方法、またはグラフの再帰的方法、グラフの再帰的です。
また、多くのチュートリアル (ここではそれらのリンクは提供しません) もアプローチを提供していません。または、チュートリアルが完全に間違っています。私を助けてください。
更新しました:
説明するのは本当に難しいです:
無向グラフがある場合:
1-- 2-- 3 --1はサイクルです。
ステップ:「ポップされた頂点の隣人をスタックにプッシュする」では、頂点をプッシュする順序は何ですか?
プッシュされた順序が2
、4
、の場合3
、スタック内の頂点は次のとおりです。
ノードをポップした後、結果が得られます:1 -> 3 -> 4 -> 2
の代わりに1--> 3 --> 2 -->4
.
それは間違っています。このシナリオを停止するには、どの条件を追加する必要がありますか?
algorithm - Flood Fill アルゴリズムの非再帰的な実装?
私はJavaで小さな描画アプリケーションに取り組んでいます。フラッド フィル アルゴリズムを実装して「バケット フィル」ツールを作成しようとしています。
再帰の実装を試してみましたが、問題がありました。とにかく、私は Web を検索しましたが、この目的のために、このアルゴリズムの非再帰的な実装が推奨されているようです。
だから私はあなたに尋ねます:
Flood Fill アルゴリズムの非再帰的な実装について説明していただけますか? 実際のコード例、いくつかの疑似コード、または一般的な説明さえも歓迎します。
あなたが考えることができる最も単純な、または最も効率的な実装を探しています。
(Java 固有である必要はありません)。
ありがとうございました
java - サイズを更新するための二分探索木の非再帰的トラバーサル
これが尋ねられた場合は申し訳ありませんが、検索中に見つけることができませんでした..すべての検索結果は、特定のノードを検索しているかのようにバイナリツリーをトラバースすることに関するものでした-したがって、ダウンしてしまいます.左または右など。
しかし、トラバースしてツリーのサイズを更新する場合はどうでしょうか。下部に新しいノードを追加したとします。その後、各ノードのサイズを更新して、新しいツリー サイズを反映する必要があります。
これが元のツリーで、Z を追加するとします。
したがって、サイズを更新するには、私が間違っていると考えていない限り、その上のノードを更新する前に、まず下のノードを更新する必要があります。右?(D を更新するには、まず S と A を更新する必要があります)
では、ルートからボトムまでトラバースし、ボトムアップで更新するにはどうすればよいでしょうか?