Я только начал работать с классами на Python, и я нахожусь на roadblock, пытаясь напечатать созданное мной двоичное дерево. Вот код, у меня есть:Печать двоичного дерева
class Node(object):
def __init__(self, number):
self.number=number
self.right=None
self.lef=None
def add_node(self,number):
if number < self.number:
self.left = self.left.add_node(number)
if number > self.number:
self.right = self.right.add_node(number)
Первая часть представляет корень дерева и функции add_node добавляет узел в дереве. Я создал новый экземпляр для корня дерева:
Tree = Node (6)
Проблема, с которой я столкнулся в печати дерева. Если я просто скажу print Tree
, я получаю это:
<__main__.Node object at 0x10f6e5210>
Кто-то сказал мне, что я должен создать функцию, чтобы фактически напечатать дерево и эта функция выглядит как функция, которая создает новый узел, но до сих пор я не был» это можно сделать. Любая помощь, пожалуйста!
Ключ, который выглядит как метод 'add_node(), вероятно, имел в виду тот факт, что он также будет рекурсивным - например, печать дерева будет состоять в печати левого и правого поддеревьев. – martineau