問題タブ [ancestor]
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.
mongodb - MongoDB の Array of Ancestors パターンでノードの直接の子を取得するにはどうすればよいですか?
祖先の配列のパターンに従うmongo DBドキュメント構造があります( http://docs.mongodb.org/master/tutorial/model-tree-structures-with-ancestors-array/ )
この設計パターンでは、ノードの直接の子を取得するにはどうすればよいですか?
したがって、ノード A が与えられた場合、クエリでノード B と D のドキュメントを返すようにしたいと思います。
sql - 再帰的 sql - 子の祖父母を見つける
以下のようなテーブルがあります。
Id ParentID
1 99
2 9
3 1
4 2
5 4
6 3
そして、各子の最後の祖先を取得するクエリが必要です。
つまり、望ましい結果は
id Lastancestor
1 99
2 9
3 99
4 9
5 9
6 99
大量のデータを持っているので、早急に何かが必要です。
ありがとう。
git - Git を使用して、すべてが共通の祖先を共有するコミットのツリーを表示するにはどうすればよいですか?
「マスター」ブランチ、チームの変更をレビューおよび承認するためのブランチ (「ステージ」と呼びます)、およびすべてステージ ブランチに基づく一連の機能ブランチがあるとします。(アイデアは、ステージからマスターへの共通のプル リクエストに変更をグループ化することです。)
ステージブランチの「ルート」に基づいてすべての変更のログを表示するにはどうすればよいですか? そのチーム/トピックで進行中のすべての機能を確認できるようにしたいと考えています。バニラ Git の用語では、特定の (ルート) コミットに到達できるすべてのコミットのログを取得するにはどうすればよいですか? 私の人生では、これを行う方法を見つけることができません。共通の祖先を持つ 2 つの分岐に対してはこれを実行できますが、共通の祖先から派生したN 個の分岐に対しては実行できません。
google-app-engine - 祖先関係を使用してキーを作成すると、Google App Engine データストアの取得が失敗する
メッセージをデータストアに挿入すると、メッセージのシーケンス番号を使用してキーが作成され、メッセージを送信したユーザーとの祖先関係が作成されます。シーケンス番号だけから作成されたキーを使用してメッセージを取得しようとすると、失敗します。シーケンス番号のみに基づくキーを使用するように挿入を変更すると、後の取得は成功します。
コード単位
これは失敗します:
保管所:
取得に失敗しました
これは成功します:
保管所:
取得は成功します:
これは予想される動作ですか?キーの作成中にparent=タグを追加することの唯一の違いは、「ユーザーXから送信されたすべてのメッセージをくれ」などのクエリに効率的に答えることができる祖先関係を作成することだと思いました。
c++ - 2-3 ツリーで正しい祖先を見つける
そのため、2-3 ツリーで正しい先祖を見つけるのに苦労しています。任意の高さの 2 ~ 3 ツリーでは、いくつかのケースを探す必要があります。
私のノードは次のように設計されています。
ノードの適切な祖先を見つけるためのアルゴリズムまたは類似のものはありますか?
たとえば、H の祖先 (提供されたツリーの最下部) を探していたとします。H の祖先がツリーのルートにある H であることは視覚的に明らかです。ただし、それには 4 つの親リンクをジャンプアップする必要があります。ツリーは任意のサイズになる可能性があり、これが問題です。
私の最終的な目標は、2-3 ツリーを順番に走査する反復子を作成することです。祖先ノードを見つける目的は、祖先ノードが、その親ノードの正しい子であるリーフ ノードの順序どおりの後継ノードになることです。繰り返しますが、上記の例のように。