私はNode
オブジェクトによって設定されたツリーを持っています。各ノードには、バイナリツリーとは異なり、指定されていない量の子が存在する可能性があるため、その子ノードを格納するArrayListがあります。特定のノードクラスのツリーを検索する方法
各ノードに多数の子がある場合、各子がそれぞれ独自の子を持つなど、特定のノードを見つけるためにツリーをトラバースする方法はありますか。私は、これを繰り返し行う一般的な方法を探しています。例えば、ノードのarrayList(子を格納する)を検索する関数や、各子の子ノードの配列リストを検索する関数を使用します。
提案がありますか?
UPDATE
これは私がこれまで試したものです:
return
(
(StrangeNode)current.ChildrenList
.SingleOrDefault(c =>
c.GetType().Name.ToString().Equals("StrangeNode"))
).myArrayList;
http://mattgemmell.com/2008/12/08/what-have-you-tried/これはあなたの宿題をするためにSOを得る試みのように聞こえますか? –
実際に宿題ではなく、ツリーの特定のポイント(つまり別のクラス)に特別なタイプのノードを持つツリーを実装しようとしています。 – Palindrome
文字通り、何を試したのですか? –