class Node:
def __init__(self, data):
self.left = None
self.right = None
self.data = data
self.count = 1
def insert(self, data):
if self.data:
if self.data == data:
self.count += 1
return
if data < self.data:
if self.left is None:
self.left = Node(data)
else:
self.left.insert(data)
elif data > self.data:
if self.right is None:
self.right = Node(data)
else:
self.right.insert(data)
else:
self.data = data
def PrintTree(self):
if self.left:
self.left.PrintTree()
print( self.data, "("+str(self.count)+")")
if self.right:
self.right.PrintTree()
Мне нужна помощь с этим!
Так что это мой код, и он распечатывает каждое слово, которое я вставил, и частоту каждого слова, которое я произнес. Я предполагаю использовать это, чтобы я мог взять текстовый файл и разбить каждую строку текстового файла на слова, а затем отсортировать его, используя это дерево узлов. У меня также есть проблема с тем, как это напечатать. Я должен написать рекурсивную процедуру для печати дерева, начиная с корня. Таким образом, порядок идет: выведите дерево, расположенное слева, затем данные в корне, затем правое поддерево корня.
Пример текстового файла содержит:
Маленький Бо Пип
Потеряла овец
И не знает, где их найти.
Оставь их!
Они придут домой.
Виляя их рассказами за ними.
Вывод должен выглядеть так:
выход