imprimer arbre binaire de niveau par niveau en python

Je veux imprimer mon arbre binaire de la manière suivante:

                   10

               6        12

             5   7    11  13 

J'ai écrit du code pour l'insertion de nœuds, mais ne peut pas en mesure d'écrire pour l'impression de l'arbre. donc, s'il vous plaît aider sur ce point . Mon code est :

class Node:
    def __init__(self,data):
       self.data=data
       self.left=None
       self.right=None
       self.parent=None

class binarytree:
   def __init__(self):
     self.root=None
     self.size=0

   def insert(self,data):
     if self.root==None:
        self.root=Node(data)

    else:
        current=self.root
        while 1:
            if data < current.data:
                if current.left:
                    current=current.left
                else:
                    new=Node(data)
                    current.left=new
                    break;
            elif data > current.data:
                if current.right:
                    current=current.right
                else:
                    new=Node(data)
                    current.right=new
                    break;
            else:
                break



 b=binarytree()  
  • Vous pouvez ajouter une méthode à votre Node classe qui compte compte combien de fois vous pouvez retourner un parent avant de vous obtenez None ou votre racine.
InformationsquelleAutor user2762315 | 2015-12-01