depth-first-search

    0

    3答えて

    私は、子ノードと親ノードを持つ古典的なツリー構造を持っています。私は、再帰的トラバーサルアプローチを使用することにより、深さレベルを得ることは非常に簡単ですが nodes[ ["A4"], ["A3","B3"], ["A2","B2","C2"], ["A1","B1","C1"], ["ROOT"] ]; :さて、私はこのような(逆の順序

    1

    2答えて

    何が問題なのですか?私はスタック4を変更しなければならないと思う[G P E]。 頂点Pを訪問すると頂点Gをスキップする方法はありますか? 私はないと思います。違いますか?

    3

    1答えて

    私はアルゴリズムを学んでいて、これを実行してproblemが領域の数を見つけています。私はpythonを使用して深さの最初の検索アプローチを試みたが、呼び出しスタックを超過しているエラーを取得しています。誰も私の実装の欠陥とそれを克服する方法を教えてくれますか?コードは次のとおりです。 def findCircleNum(A): count = 0 def dfs(row,

    0

    1答えて

    再帰関数の実行が再帰ツリーとして分かります。 私の質問は、なぜこの実行がツリーとして見えるのでしょうか? 私は再帰中にスタックとしてスタックを使用するDepth First Searchメソッドとのリンクがあると思いますが、この等価性があるかどうかわかりません。 回答がありますか?

    -2

    1答えて

    私は一種の、ここでは深さ優先探索アルゴリズムを作成しようとしています。トラバースしなくてはならない値の数を調べる代わりに、各行で最高の値を見つけなければなりません。 私は実際に検索を実装する方法を知っていますが、私は理解できません。特に、グーグルではうまくいきません。サブクラス/子の配列を作成する方法です。 一般的な配列を初期化する方法を知る必要はありませんが、2つのint値を持つNodeのクラス

    -1

    1答えて

    私は、上、下、左、または右に移動できるグリッドの最小パスの合計を見つける必要があり、四角形を繰り返すことはできません。私はそれを解決するための再帰的な解決策を書いた(私はDPが良いだろうと知っている)が、毎回答えとして0を出力しますが、最小合計は215でなければなりません(87でなければなりません)。どのように私はそれを解決するコードを修正するだろうか? また、DPを使用してこれを実装するにはどう

    2

    2答えて

    再帰的DFSでは、ノードをWHITE,GRAYおよびBLACKのように塗りつぶして、サイクルを検出することができます(here)。 DFS検索中にGRAYノードが検出された場合、サイクルが存在します。 質問:DFSのこの反復バージョンでノードをGRAYとBLACKと表示するのはいつですか? DFSで 1 procedure DFS-iterative(G,v): 2 let S be

    4

    2答えて

    私は数を数える方法を探しました。オンラインで接続されたコンポーネントの私は、ほとんどのサイトで、使用されているアルゴリズムが深さ優先検索であることに気づいた。私はあなたが同じことを達成することができると信じています幅優先探索と組合 - も同様に見つける。だから人々は接続されたコンポーネントの数を見つけるためにDFSを使うことを好むのはなぜですか?主に2つの理由の

    0

    1答えて

    DFSが実行された無向グラフ(すべてのエッジをツリーエッジまたはバックエッジのいずれかとしてDFSツリーを生成するため)では、バックエッジのみで構成されるグラフのサイクルが存在する可能性があります。木のエッジはありませんか?

    0

    1答えて

    有向グラフの2つのノードが接続されているかどうかを判断するアルゴリズムを作成しようとしています。十分にシンプルですが、DFSの再帰的実装でハングアップしています。 働く私のソリューションは、非常に醜いです: public static boolean isConnected (Node src, Node dst) { HashSet<Node> visited = new HashSe