ノードを追加する関数があります:
public void AddNode(Guid ID, string name, Guid parentNode)
{
MyNode node = new MyNode ();
node.ID = ID;
node.Name = name;
node.ParentNode = parentNode;
AddNode(node);
}
最下位ノードを見つける関数を実行するにはどうすればよいですか?
オーバーロードされた関数 AddNode(Node) のコードがなければ、推測することしかできません。
親ノードへのリンクのみを保存する場合、ツリーを下に移動することはできません。そのためには、子へのリンクを取得する必要があるからです。子ノードへのリンクも保存することでツリーを二重にリンクすることも、子ノードへのリンクを保存することもできます。それができたら、再帰的な幅優先検索または深さ優先検索をルートから開始して、目的のノードを見つけることができます。
ポインターのこのリンクを試して、子のないノードを見つけたら、使用したいものをリスト/辞書/などに配置します。