ノードが次のように定義されている、ソートされていないノード配列があるとします。
Node { int id;
int parent_id;
string label;
}
各ノードには独自の一意の ID があります。parent_id
ツリーでその親を識別します。問題は、ツリーの事前注文トラバーサルを行う方法です。(二分木である必要はありません)
これは、数日間私を悩ませてきたインタビューの質問です. 私が考えることができるのはmap<int,list<node> >
、キーが親 ID であるハッシュ マップを使用することです。それから私はそれ以上行くことができません。マップからツリーを構築し、事前注文トラバーサルを行うべきですか、それともマップから直接行う良い方法がある場合は? ではどうやって?どんなヒントでも大歓迎です!