Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def traverse(node, depth=0, par=None):
- out = dict()
- out['parent'] = None if par is None else par
- out['depth'] = depth
- out['dist'] = node.dist
- out['children'] = []
- orig_dist = node.dist
- for direction in ('left', 'right'):
- while True:
- node = getattr(node, direction)
- ## End of tree or reached new level
- if (node is None) or (orig_dist != node.dist)):
- break
- ## Child element
- else:
- out['children'].append(traverse(node, depth+1))
- return out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement