如何打印二進制樹中的數據,從頂部開始,逐級打印,使用python?如何打印二級樹級別
我對此很新,我不知道如何開始。
from collections import deque
class EmptyTree(object):
def isEmpty(self):
return True
def __str__(self):
return ""
class BinaryTree(object):
THE_EMPTY_TREE = EmptyTree()
def __init__(self, item):
self._root = item
self._left = BinaryTree.THE_EMPTY_TREE
self._right = BinaryTree.THE_EMPTY_TREE
def isEmpty(self):
return False
def getRoot(self):
return self._root
def getLeft(self):
return self._left
def getRight(self):
return self._right
def setRoot(self, item):
self._root = item
def setLeft(self, tree):
self._left = tree
def setRight(self, tree):
self._right = tree
def removeLeft(self):
left = self._left
self._left = BinaryTree.THE_EMPTY_TREE
return left
def removeRight(self):
right = self._right
self._right = BinaryTree.THE_EMPTY_TREE
return right
def __str__(self):
"""Returns a string representation of the tree
rotated 90 degrees to the left."""
def strHelper(tree, level):
result = ""
if not tree.isEmpty():
result += strHelper(tree.getRight(), level + 1)
result += "| " * level
result += str(tree.getRoot()) + "\n"
result += strHelper(tree.getLeft(), level + 1)
return result
return strHelper(self, 0)
如果你還沒有開始寫穿越,你應該讀你的書(或類似[百科]另一個參考(http://en.wikipedia.org/wiki/Tree_traversal)),他們做出的嘗試。 – 2011-03-26 21:36:28
我看了,但找不到有用的東西。 – red34 2011-03-27 00:57:02