問題タブ [hierarchy]

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 投票する
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 投票する
4 に答える
2510 参照

list - 階層のビジュアル デザイン

カテゴリの階層があり、カテゴリは 1 つの親を持つことができます (また、複数のレベルの子を持つことができます)。

この情報をユーザーに表示する方法を調査していますが、基本的なバニラ ツリーのレイアウトが最も直感的な方法のようです。しかし、誰かが他のアプローチを提案できるかどうか疑問に思っています。

要件は、

1) リストの親子関係をユーザーに明確に示す 2) ユーザーが項目を簡単に移動できるようにする (ドラッグ アンド ドロップまたはその他の方法で) 3) 複数の親を持つ階層データがあると仮定すると、どのように変化するかあなたの選択?

みんな、ありがとう!- ケビン

0 投票する
3 に答える
6743 参照

sql-server-2005 - 複数の親ツリー (またはダイグラフ) の実装 SQL Server 2005

複数の親を持つツリー (またはダイグラフ) を SQL Server 2005 に実装する必要があります。いくつかの記事を読みましたが、それらのほとんどは、次のような一意のルートを持つ単一の親ツリーを使用しています。

この例では、すべてがルート要素 (My PC) から派生しています。

私の場合、子は次のように複数の親を持つことができます。

だから私は次のコードを持っています:


次のSETを返します。

期待される結果セット:

関係 G->B が欠落していることに注意してください。これは、開始オブジェクトを要求し (最初からルート オブジェクトがわからないため、これも機能しません)、開始点として A を使用すると無視されるためです。 G→Bの関係。

したがって、このコードは私の場合は機能しません。これは、SINGLE-parent ツリーで明らかな開始オブジェクトを要求するためです (常にルート オブジェクトになります)。しかし、複数の親を持つツリーでは、複数の「ルート」オブジェクトを持つことができます (例のように、G と A は「ルート」オブジェクトであり、ルートは親 (先祖) を持たないオブジェクトです)。

だから私はここで立ち往生しています...開始オブジェクトを要求せず、ツリー全体を再帰的にトラバースするようにクエリを変更する必要があります。(Id, NextId) 実装でそれが可能かどうかはわかりません...何らかの種類のインシデントマトリックス、隣接マトリックスなどを使用してグラフのように保存する必要があるかもしれません ( http://willets.org/を参照) sqlgraphs.html )。

何か助けはありますか?皆さんどう思いますか?お時間をいただきありがとうございました=)

乾杯!

ソース: ソース 1 ソース 2 ソース 3

0 投票する
5 に答える
1295 参照

c# - 一般的な再帰関数の処理

私のプロジェクトでは、再帰関数を頻繁に書いていることに気付きました。

私の質問は次のとおりです。再帰反復を使用している階層構造ごとに、再帰関数を汎用関数として作成する方法はありますか?

たぶん、再帰のルートと終了フラグを取得するデリゲートを使用できますか?

何か案は?

ありがとう。

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

php - 階層データ構造を使用してリストを印刷するにはどうすればよいですか?

このコードを実行すると:

私は次のような適切にフォーマットされたテキストを取得します:

<ul><li>...しかし、私は:でリストを作成したいと思います。

私は試してみました:

しかし、私はいくつかの余分なulタグなどを持っています。私はこれで2日を失ったので、あなたが私を助けることができるならば、ここに投稿してください...

0 投票する
5 に答える
6838 参照

database - 階層データ モデル: 隣接リストとネストされたセット

製品カタログがあります。各カテゴリは、異なる数の (深い) サブカテゴリで構成されます。レベル数 (深い) は不明ですが、5.6 レベルを超えないことは確かです。データの変更は、読み取りよりもはるかにまれです。

問題は、どのタイプの階層データ モデルがそのような状況により適しているかということです。このプロジェクトは Django フレームワークに基づいており、その特性 (admin i-face、モデルの処理など) を考慮する必要があります。

どうもありがとう!