Comment implémenter l'arborescence en Python?Implémentation en arbre en Python
Je suis débutant Python.
Donnez-moi une idée générale!
Comment implémenter l'arborescence en Python?Implémentation en arbre en Python
Je suis débutant Python.
Donnez-moi une idée générale!
Construire une classe Node
, ayant un objet de contenu et une liste d'enfants, qui sont des instances de Node
.
est juste. L'idée ici (et aussi dans une implémentation Java des arbres) est d'utiliser la composition puisque la syntaxe ne supporte pas les pointeurs. La liste des nœuds enfants stocke les références aux objets du nœud enfant. – CruiZen
class Tree(object):
def __init__(self, name, left_subtree = None, right_subtree = None):
self._name = name
self._left_subtree = left_subtree
self._right_subtree = right_subtree
def inorder(tree):
if tree is not None:
inorder(tree._left_subtree)
print tree._name
inorder(tree._right_subtree)
if __name__ == '__main__':
a = Tree('a')
b = Tree('b')
c = Tree('c', a, b)
inorder(c)
Votre URL est cassée. – DevPlayer
@DevPlayer Retiré le lien et le code ajouté. :) –
Sûrement 'inorder()' devrait être une méthode de 'Tree', pas une fonction de flottement? Et pour éviter de suivre un pointeur None, il vous suffit de vérifier le pointeur avant de vous y rouvrir. Pouvez-vous résoudre ces problèmes? – smci
Également apprendre à formater la question correctement sinon la prochaine fois que les gens ici vous flamberont sans pitié. La réponse de –