У меня есть класс бинарного дерева Python:
class BinaryTree:
def __init__(self, data, left=None, right=None):
self.data = data
self.left = left
self.right = right
def __unicode__(self):
return '%s' % self.data
и у меня есть функция обхода дерева, подобная этой:
def tree_traversal(tree):
if tree:
for node_data in tree_traversal(tree.left):
yield node_data
for node_data in tree_traversal(tree.right):
yield node_data
теперь я застреваю в создании формата данных, подобного вложенной структуре ниже:
{'id':1,children:[{'id':2, children:[{'id':3, 'id':4}]}]}
древовидная структура:
1
|
2
(left)3 (right)4