1
ツリービューにブランチ(ノード)を追加する必要があります。私は最も低いO(n)技法が何であるかを決めるのに苦労しています。treeviewブランチを追加する最も効率的なアルゴリズム
次のように私のデータが提示:
Id ParentId Value
0 null Bob
1 0 Amy
2 1 Susan
3 1 Matt
4 2 Keith
5 4 Craig
6 4 Derrick
だから、ツリーは次のようになります。
私が思い付くことができるすべては、すべてのエントリをスキャン用^ 2のアルゴリズムnはサブノードとして属しているかどうかを確認します。 アレイからエントリを削除して、追加時にスキャンします。だからメモリが(おそらくない)提供するならn^2より少し小さいです。
もっと良いテクニックはありますか?
「ブランチを追加する」とはどういう意味ですか?あなたが与えた例の期待される結果は?どの言語を使用していますか? – daniloquio