問題タブ [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 に答える
2023 参照

python - SQLAlchemyのInstrumentedListに同じオブジェクトを2回追加できますか?

SqlAlchemy 0.6.6では非常に単純なN:M関係があります。たくさんのメディア(画像またはビデオ)を含めることができるクラス「attractLoop」があります。同じメディア(たとえば画像)を2回追加できるリストが必要です。関係は次のとおりです。

メディアは、画像と動画が共有するほとんどの属性を持つ基本クラスです。

次に、これらの「メディア」のものを使用しようとしているクラス:

そして、両方のテーブルをリンクするための中間クラス:

同じMediaオブジェクト(インスタンス)をそのTestSqlAlchemyListの1つのインスタンスに2回追加すると、2つが正しく追加されますが、データベースからTestSqlAlchemyListインスタンスを取得すると、1つしか取得されません。セットのように振る舞っているようです。

中間テーブルにはすべての情報が適切に含まれているため、挿入は正常に機能しているようです。挿入したすべてのアイテムを取得できないときに、データベースからリストを読み込もうとしたときです。

ご覧のとおり、id = 1の「テスト」インスタンスにはメディア[1、1、2、2、1、1]が必要です。まあ、そうではありません。DBからロードすると、メディア[1、2]しかありません。

リストに臭いがする可能性のあるパラメータを関係に設定しようとしました...uselist、collection_class =list...何も...

クラスがBaseClassから継承していることがわかります。これは、実際にはどのテーブルにもマップされていないクラスですが、すべてのクラスの主キーとなる数値フィールド( "id")と、システム内の残りのクラス(toJSON)に役立つ他のメソッドが含まれています。 、toXML ...)。念のため、その抜粋を添付します。

誰かが私にプッシュを与えることができれば、私はそれをとても感謝します。ありがとうございました。そして、巨大な投稿をお詫びします...私は本当によく説明する方法がわかりません。

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

model - 相対的に配置された形状間の関係をモデル化するための隣接リスト?

1 つまたは複数の形状で構成される複合オブジェクトをモデル化しようとしています。簡単にするために、形状はすべて長方形であると仮定します。コンポジットは次のようになります (下手な ASCII アートを許してください):

ウィキペディアは、私が大学時代にかろうじて覚えているグラフ理論を教えてくれました。隣接リストは、これらすべての形状間の関係をモデル化するための良い方法のようです。

私の質問は、隣接リストで左、右、上、および下の関係を示すことができますか? 1 が 2 に隣接していると言うだけでは十分ではありません。1 は 2 の左です (3 は 4 の上など)。

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

java - ハッシュテーブルを使用せずにJavaでスパース行列を構築しますか?

私のプロジェクトでは、グラフの隣接行列を作成しようとしています。スペースと時間の考慮のために、スパース行列を使用することになっています。これは、私の理解では、ハッシュマップを使用すると最も簡単に実行できます。残念ながら、隣接リストも実装する必要がありました。これは、上記のハッシュマップを使用して実装しました。隣接行列は構造的に異なる必要があるため、行列にハッシュマップを使用することはできません。他に実装する方法はありますか?

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

r - SQL隣接リストをR隣接行列に変換します

pedigree相互接続しているすべての親子関係データを2つの隣接リストとして格納するMySQLテーブルがあります。

血統表

  • 子供がいる場合といないorg_id場合があります。子供の数は無制限です。
  • org_idテーブル内のそれぞれにpedigreeは、少なくともdam_idまたはsire_idが必要です。
  • 両親がいない場合org_id、それは種雄牛またはダムとして以外は血統表にリストされません
  • 持っているorg_idかもしれませんdam_id==sire_id

サンプルデータ

Rのigraphパッケージを使用して(より適切なものがない限り)、子ノードの上に発生する祖先ノードを持つ血統の有向DAGを表示したいと思います。igraphがこれを行うために何が必要か正確にはわかりません。隣接リストから隣接行列を生成する必要があると思いますが、これを効率的に行う方法がわかりません。

アイデア?

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

coldfusion - コールドフュージョンの隣接リスト

この画像は、私が達成しようとしていることを示しています。左側がテーブル データ、右側が作成しようとしているテーブルです。

テーブルは、parentID を使用して同じテーブル内の別の項目を参照し、階層を作成します。

このようにクエリを作成して整理するにはどうすればよいでしょうか。

「Pirates」を選択して、すべての親を取得したい場合はどうすればよいですか? 一番上に到達するまでクエリをループするよりも簡単にする CFML の機能はありますか?

ここに画像の説明を入力

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

codeigniter - Codeigniter 2 + Datamapper ORM: 隣接リスト、モデル関係を設定する方法は?

Q: Datamapper ORM を使用する場合、Adjacency Lists のモデルを設定する方法を教えてください。経験した人いますか?たとえば、テーブル カテゴリ ( id, name, has_parent_category_id ) です。ご覧いただきありがとうございます。

例の表、

ドキュメントはhttp://datamapper.wanwizard.eu/pages/advancedrelations.htmlにあり、次の「Self Relationships」を見つけました。これが正しい方法かどうかはわかりません。私はそれをテストしています。

誰かが隣接リストの経験があり、Datamapper ORM をコード化しており、これを行う方法に関する実用的な例を 1 つ残していただければ幸いです。

御時間ありがとうございます!

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

graph - グラフ表現: 隣接リストと行列

コーディングの面接の準備をしていて、グラフについて頭をリフレッシュしていました。私は次のことを疑問に思っていました:私が見たすべての場所で、隣接リストは大規模なスパースグラフの隣接マトリックスよりもメモリ効率が高いと想定されているため、その場合は優先する必要があります。さらに、ノードからの発信エッジの数を計算するには、リストでは O(1) であるのに対し、マトリックスでは O(N) が必要です。行列の O(N)。
そのような場所には、Cormen らの本、または StackOverFlow : Size of a graph using adjacency list vs adjacency matrix?が含まれます。またはウィキペディア。

ただし、圧縮された行ストレージ表現のような疎行列表現を使用すると、メモリ要件は O(非ゼロの数) = O(エッジの数) になります。これは、リストを使用する場合と同じです。ノードからの発信エッジの数は O(1) (CRS に直接格納されます) であり、隣接ノードは O(隣接ノード数) にリストできます。
なぜ議論されないのですか?CSR、マトリックスで表されるグラフの一種の隣接リスト表現であると想定する必要がありますか? それとも、疎行列表現を考慮していないため、行列がメモリ集約型であるという議論には欠陥がありますか?

ありがとう!

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

php - PHP / MySQL 隣接リストの質問

私は次の問題を抱えています: 隣接リストをイメージングします。

これまでのところ、とても良いです-別の「フラットナー」で、必要な場所に到達しています. さて、ここにトリックがあります。これは「ページ付けされた」結果で機能し、起こりうること (実際に起こること) は、親が 1 つのサブセットにあり、子が別のサブセットにある可能性があるということです。上記の再帰では、子が親が見つからないツリーにたどり着かないことは明らかです。

どうすればそれを解決できますか?助けていただければ幸いです。

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

c# - 配列内の隣接する日付を数える

約 1000 レコードの配列があり、各レコードは次のプロパティを持つオブジェクトです。

隣接する Date を持つ Result をカウントして最大限に活用したい。
誰でもアイデアを教えてもらえますか?

編集: 例:

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

mysql - この階層構造の下にある「エンティティ」の数。Nested Set/Adjacency (イングランド内の POI の数)

開発言語・DB:PHP/MySQL

geo_places800 万の地理的な場所を含むテーブルがあります。

これらの場所はすべて階層的で、私は

  • parent_id (隣接) ,
  • lft/rgt (ネストされたセット)
  • および祖先(列挙)

entitiesこれで、地理的な場所に割り当てられた「関心のあるポイント」テーブルが呼び出され、各エンティティに対して次のように記録されます。

  • lftの位置の値geo_places
  • IDそして地理的な場所の実際。

ここで、場所の下にあるすべての場所のカウント EFIFICNETLY (ただし、とにかくこれをキャッシュします) を含むディレクトリ リストを提供する方法が必要です。

たとえば、ヨーロッパを取り上げると、parent_id がヨーロッパであるすべての場所と、その下にあるエンティティの量も表示されます。場所はヨーロッパに直接割り当てられるのではなく、イタリアの小さな村 (ヨーロッパの子) に割り当てられる可能性があることに注意してください。

次のいずれかの理由で、それがヨーロッパの子であることを知っています。

  • lftイタリアの小さな村の価値はと のlft価値rgtの間にある
  • または、祖先がその場所にマッピングされているためです。

たとえば、ヨーロッパの祖先パスは/15 で、ID は 5 です (1 は「世界」を表します)。そして、イタリアの小さな村には/1/5/234/28924/124128

どこで 1 = 世界 5 = ヨーロッパ 234 = イタリア 28924 = ベルガモ など...

とにかく、これは私がデータセットを構造化した方法であり、クエリをより効率的にするために、階層構造の混合物を既に使用しています (なぜネストされたセット、隣接関係、および列挙をサポートしているのか疑問に思っている方のために) .. これは、この方法ですべての構造を最大限に活用するためです)。

これは私がやろうとしていることの例です。 例

私は柔軟性があり、必要に応じて場所の管理方法を変更できます。ただし、これはマルチテナント アプリケーションでもあるため、回避できる場合は、geo_places に対するカウントの保存を回避したいと考えています。

簡単に言えば、場所を選択して、その場所またはその場所の子に割り当てられた関心のあるポイントを持つすべての場所を表示します。

推奨事項はありますか?