問題タブ [adjacency-list]

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.

0 投票する
1 に答える
3060 参照

c++ - ブースト adjacency_list のヘルプが必要

Boost の adjacency_list タイプを使用しようとしていますが、ドキュメントを理解できません。

State という名前のクラスを定義し、米国の州ごとに 1 つのインスタンスをインスタンス化するとします。

これらを boost::adjacency_list に入力したい 頂点は状態であり、エッジは境界です。上記の州について、グラフには次のデータが含まれると思います。

intをグラフに入れる方法を理解しており、状態の配列を作成してその配列インデックスをグラフに挿入することだけを考えましたが、次のように言うことができるはずです:

しかし、もちろんそれはうまくいきません。助けてください!

編集:これは、私が必要としているもののほぼ正確な例です

0 投票する
6 に答える
4259 参照

php - 単一テーブルからの隣接ツリー

ネストされたリストについて議論している多くの人を読んだことがありますが、PHP で隣接リスト/ツリーを反復処理する方法を知りたいと思っていました。

次のテーブルがあります:id、title、parent_id

そして、$pages という配列にすべてのレコードを選択しました。

次に、このphpを使用します:

この種の作品ですが、サブメニューが繰り返されてしまいます。

    • ニュース
      • サブニュース
    • 記事
      • 論文
  • ニュース
    • サブニュース
  • 記事
    • 論文
  • サブニュース
  • 論文

関数を介して渡される配列に現在のIDを追加してから、 in_array を使用してそこにあるかどうかを確認しようとしましたが、それを行う喜びはありませんでした。

どんな助けでも大歓迎です。

ツリー全体を解析する必要があるため、親を 0 として選択することはできません

0 投票する
4 に答える
10763 参照

sql - すべてのパスのリストへの隣接リスト階層のフラット化

隣接リストモデルを使用して階層情報を格納するテーブルがあります。(自己参照キーを使用します-以下の例。この表は見覚えがあるかもしれません):


上記のデータをこのようなものに「フラット化」するための最良の方法は何ですか?


各行は、 (各リーフノードだけでなく)各ノードの行があることを除いて、階層を通る1つの「パス」です。category_id列は現在のノードを表し、「lvl」列はその祖先です。現在のノードの値も、右端のlvl列にある必要があります。lvl1列の値は常にルートノードを表し、lvl2の値は常にlvl1の直接の子孫を表します。

可能であれば、この出力を生成する方法はSQLであり、n層階層で機能します。

0 投票する
2 に答える
1603 参照

mysql - ネストされたセット階層内の複数のテーブル

ツリー階層に配置したい、さまざまな MySQL テーブルに多数の個別のアイテムが格納されています。隣接リスト モデルを使用して、parent_id フィールドを各テーブルに追加し、外部キー関係を使用してテーブルをリンクできます。

ただし、ネストされたセット/変更されたプレオーダー ツリー トラバーサル モデルを使用したいと思います。データは、読み取りに大きく偏った環境で使用され、実行すると予想される種類のクエリでは、このアプローチが好まれます。

問題は、ネストされたセットに関するすべての情報が、単一のテーブルに格納された 1 つのタイプのアイテムしかないと仮定していることです。私が考えることができるこれを回避する方法は次のとおりです。

  • テーブル/項目タイプごとに 1 つずつ、ツリーに複数の外部キー フィールドがあります。
  • ツリー構造のアイテム テーブルの名前とアイテム ID を格納します。

どちらのアプローチも控えめに言っても洗練されていないので、これを行うためのより良い方法はありますか?

0 投票する
0 に答える
1340 参照

mysql - トリガー: ネストされたセットへの隣接リスト

レガシー システムに隣接リストがあり、再帰的にクエリを実行したい (小計を取得する必要があるなど)。

特定のセットの「ネストされたセットの同等物」を別のテーブルに格納するか、同じテーブルの別の列に格納するトリガーを MySQL で作成できますか?

私のセットは次のようなものです:

これ欲しい:

0 投票する
2 に答える
370 参照

mysql - データベースから孫を引き出す方法

MySQL からメニュー項目を引き出したい。

id=1 から 4 までのデータを引き出して、「...where parentid=1」などで表示できます。しかし、これはトップ レベルのみを引き出します。

しかし、各メニュー(メインメニュー)のサブメニューも含めてすべてのデータを引き出したいです。

このために MySQL でクエリを作成する方法を教えてください。

前もって感謝します。

0 投票する
1 に答える
16613 参照

java - 有向加重グラフの隣接リスト

隣接リストを使用して有向加重グラフを表し、このSO質問で提供されたサンプルコードに基づいて、次のものを作成しました。

isConnectedメソッドを正しく機能させるのに問題があります。ここでグラフを表すために間違ったデータ構造を使用していますか(Map<String, LinkedHashSet<HashMap<String, Integer>>>)?ハッシュマップは、接続されたノードの名前とノードまでの距離を保持します。

  1. 基本的に、ノードが特定のベースノードの隣接リストに属しているかどうかを確認するにはどうすればよいですか?問題は構造を適切に反復することに帰着すると思いますかadjacent Set<HashMap<String, Integer>> 、それとも私の推論は間違っていますか?
  2. 2番目の方法 adjacentNodes(String node)では、接続されたノードとその距離のマップ(セット構造)を含むリンクリストを返します。特定のノードのすべての接続を効率的に反復処理するにはどうすればよいですか?
0 投票する
2 に答える
2414 参照

django - ネストされたセットの代わりに再帰的な WITH (Postgres 8.4) を使用した隣接リスト ツリー

私は Django ツリー ライブラリを探しており、ネストされたセットを避けるために最善を尽くしています (維持するのは悪夢です)。

隣接リスト モデルの短所は常に、複数のクエリに頼らずに子孫を取得できないことです。Postgres の WITH 句は、この問題に対する確実な解決策のようです。

WITH とネストされたセットに関するパフォーマンス レポートを見た人はいますか? ネストされたセットはまだ高速であると思いますが、それらが同じ複雑さのクラスにある限り、2 倍のパフォーマンスの不一致を受け入れることができます。

Django-Treebeard に興味があります。Postgresで実行しているときにWITH句を実装したかどうか知っている人はいますか?

WITH 句に照らして、ネストされたセットから切り替えた人はいますか?

0 投票する
2 に答える
3233 参照

c++ - 隣接リストに重複したエッジが表示されるのはなぜですか?

convertToList : 隣接行列を隣接リストに変換します。

printList : 隣接行列をトラバースし、すべてのエッジのメッセージを出力します。

問題:一部のエッジが複製されています。リストの配列を作成するとき、または隣接行列を走査して印刷するときに問題になるかどうかはわかりません。助言がありますか?

以下は、エッジ (0, 1) と (3, 2) を持つ 5 つの頂点のプログラム出力の図です。マトリックスは正しいです。隣接リストはそうではありません。エッジ (0, 1)、(1, 1)、および (2, 3) を繰り返さないでください。

代替テキスト