Bonsoir, je cherche à utiliser un arbre pour un programme, et j'aimerais trouver un implémentation de ceci qui soit déjà faite, dans une bibliothèque genre STL, pour ne pas réinventer la roue et gagner du temps, et merci.
Bonsoir, je cherche à utiliser un arbre pour un programme, et j'aimerais trouver un implémentation de ceci qui soit déjà faite, dans une bibliothèque genre STL, pour ne pas réinventer la roue et gagner du temps, et merci.
Sans expérience dessus, j'ai ceci:
-stx B+tree http://idlebox.net/2007/stx-btree/
-B+tree 1.0 par www.scalingweb.com (mais le site ne répond pas ?), exige QT mais semble complet avec une implémentation mémoire et disque.
-Je crois qu'il y a aussi une implémentation Btree dans stxxl.
Mais je suis comme toi intéressé par des retours d'expérience.
Deux possibilités :
1- En général, tu peux définir un arbre comme un vector de vector, chaque élément contenant des données, et un vecteur de pointeurs ou de références sur les enfants du noeud. Un exemple ici http://www.codeproject.com/KB/stl/Simple_STL_tree.aspx
2- Boost Graph, ca fait des arbres, ou des choses plus générales
Francois
Merci pour vos réponses, je vais essayer d'étudier toutes vos suggestions et de choisir la plus facile et la mieux adaptée à mon problème. Mais je trouve bizarre qu'il n'y a pas une standardisation d'une structure aussi importante que les arbres dans la STL.
Vous l'avez dis vous-même, je dois définir l'arbre en utilisant les conteneurs de la STL. Ce que je me demande moi c'est que pourquoi y a pas de conteneur Tree par exemple tout fait avec ses fonctions dans la STL comme pour le cas du vector ou stack.En général, tu peux définir un arbre comme un vector de vector
Les set<>, map<> et leur variante multi- sont des arbres binaires. Les 4 conteneurs sont d'ailleurs construit autour d'un même conteneur bien souvent appelé "tree".
C'est vrai, mais on ne peut trouver une généralisation des arbres, pas forcément binaires, avec leurs fonctions respectives comme size, height, duplicate ... et j'en passe.
Partager