J'ai une liste d'objets non triés. Ces objets représentent un arbre binaire.Trouver la profondeur d'un nœud en C#
Liste des objets:
new List<Object>
{
new { Id = 3, Left = /, Right =/}
new { Id = 5, Left = /, Right =/}
new { Id = 4, Left = 2, Right = 5 }
new { Id = 2, Left = 1, Right = 3 }
new { Id = 1, Left = /, Right =/}
}
Binary Tree:
4
/\
2 5
/\
1 3
je besoin d'un algorithme qui trouvera la profondeur de l'un de ces nœuds. Le seul algorithme dont je suis au courant est Depth-first search. Cela implique que je dois convertir la liste des objets en arbre. Considérant que .NET n'a pas de structure de données arbre explicite comment aborderiez-vous ce problème? Dois-je convertir la structure de données en arbre (je ne veux pas vraiment écrire tout le code). Y a-t-il d'autres algo?