タグ付けされた質問 「graph-algorithm」

16
深さ優先検索(DFS)と幅優先検索(BFS)を使用するのはいつ実用的ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10日前休業。 DFSとBFSの違いは理解していますが、どちらを使用する方が実際的かを知りたいのですが。 誰かがDFSがBFSを打ち負かす方法の例を教えてもらえますか?

2
セグメントツリー、インターバルツリー、バイナリインデックス付きツリー、レンジツリーの違いは何ですか?
セグメントツリー、インターバルツリー、バイナリインデックスツリー、レンジツリーの違いは次のとおりです。 重要なアイデア/定義 用途 より高い次元でのパフォーマンス/順序/スペース消費 単に定義を与えないでください。


8
ダイクストラのアルゴリズムを使用した負の重み
ダイクストラのアルゴリズムが負の重みで機能しない理由を理解しようとしています。最短パスの例を読んで、私は次のシナリオを理解しようとしています: 2 A-------B \ / 3 \ / -2 \ / C ウェブサイトから: エッジがすべて左から右に向けられていると仮定すると、Aから開始すると、ダイクストラのアルゴリズムはd(A、A)+ length(edge)を最小化するエッジ(A、x)、つまり(A、B)を選択します。次に、d(A、B)= 2を設定し、d(A、y)+ d(y、C)を最小化する別のエッジ(y、C)を選択します。唯一の選択肢は(A、C)で、d(A、C)= 3を設定します。ただし、AからCを経由してBへの最短経路は決して見つかりません。全長は1です。 ダイクストラの次の実装を使用すると、d [B]がに更新されない理由を理解できません1(アルゴリズムが頂点Cに到達すると、Bでリラックスが実行され、d [B]がに等しいこと2を確認して、更新します。その値は1)。 Dijkstra(G, w, s) { Initialize-Single-Source(G, s) S ← Ø Q ← V[G]//priority queue by d[v] while Q ≠ Ø do u ← Extract-Min(Q) S ← S U {u} for …

3
ダイクストラのアルゴリズムが減少キーを使用するのはなぜですか?
ダイクストラのアルゴリズムは私に教えられました while pqueue is not empty: distance, node = pqueue.delete_min() if node has been visited: continue else: mark node as visited if node == target: break for each neighbor of node: pqueue.insert(distance + distance_to_neighbor, neighbor) しかし、私はアルゴリズムに関していくつかの読書をしてきました、そして私が見る多くのバージョンは挿入ではなく減少キーを使用しています。 これはなぜですか、2つのアプローチの違いは何ですか?

4
オブジェクトグラフ表現を隣接リストおよびマトリックス表現と比較する
私は現在、技術的なプログラミング面接の準備に関するSteve Yeggeのアドバイスに従っています:http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html グラフに関する彼のセクションで、彼は次のように述べています。 メモリ内のグラフを表現するための3つの基本的な方法(オブジェクトとポインタ、マトリックス、および隣接リスト)があり、各表現とその長所と短所をよく理解する必要があります。 行列と隣接リストの表現の長所と短所はCLRSで説明されていますが、これらをオブジェクトの表現と比較するリソースを見つけることができませんでした。 考えてみるだけで、自分で推測することもできますが、大切なことを見逃していないことを確認したいと思います。誰かがこれを包括的に説明できるか、そうするリソースを私に指摘することができれば、私はそれを大いに感謝します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.