La bibliothèque de classes de base dans .NET a d'excellentes structures de données pour les collections (liste, file d'attente, pile, dictionnaire), mais curieusement, elle ne contient aucune structure de données pour les arbres binaires. C'est une structure terriblement utile pour certains algorithmes, tels que ceux qui tirent parti de différents chemins de traversée. Je recherche une implémentation gratuite et correctement écrite.
Suis-je simplement aveugle et ne le trouve pas ... est-il enterré quelque part dans la BCL? Sinon, quelqu'un peut-il recommander une bibliothèque C # / .NET gratuite ou open-source pour les arbres binaires? De préférence, celui qui utilise des génériques.
EDIT: Pour clarifier ce que je recherche. Je ne suis pas intéressé par les collections de dictionnaires ordonnées qui utilisent en interne un arbre. Je suis en fait intéressé par un arbre binaire - un arbre qui expose sa structure afin que vous puissiez faire des choses comme extraire des sous-arbres ou effectuer une traversée post-correction sur les nœuds. Idéalement, une telle classe pourrait être étendue pour fournir les comportements d'arbres spécialisés (c'est-à-dire rouge / noir, AVL, équilibré, etc.).