该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码如下
class BTree(object):
def __init__(self, data=None, left=None, right=None): #定义二叉树
self.data = data
self.left = left
self.right = right
def height(self): #求二叉树高度
if self.data is None:
return 0
elif self.data is None and self.right is None:
return 1
elif self.left is None and self.right is not None:
return 1 + self.right.height()
elif self.left is not None and self.right is None:
return 1 + self.left.height()
else:
return 1 + max(self.left.height(), self.right.height())
right_tree = BTree(6) #建立二叉树
right_tree.left = BTree(2)
right_tree.right = BTree(4)
left_tree = BTree(5)
left_tree.left = BTree(1)
left_tree.right = BTree(3)
tree = BTree(11)