【判断不为空】
if not s: print("empty")
【画一颗树】
手动画树
import numpy as np class node: def _init_(self,value,left=None,right=None): self.value = value self.left = left self.right = right class BTree(object): def __init__(self, root=0): self.root = root a=node() b=node() c=node() d=node() a.value=10 a.left= b a.right=c b.value=9 b.left=d c.value=8 d.value=4 bt = BTree(a)
【create 一棵树】
class TreeNode(object): def __init__(self, left=0, right=0, data=0): self.left = left self.right = right self.data = data class TreeNode(object): def __init__(self, left=0, right=0, data=0): self.left = left self.right = right self.data = data class BTree(object): def __init__(self, root=0): self.root = root def is_empty(self): if self.root is 0: return True else: return False def create(self): temp = input('enter a value:') if temp is '#': return 0 treenode = TreeNode(data=temp) if self.root is 0: self.root = treenode treenode.left = self.create() treenode.right = self.create()
【打印出画的树】
def creabinarytree(layer): if not isinstance(layer,int): print("please enter an integer") # ord('a')=97 print("layer is ",0) val=int(input("please enter the root:\n")) value=[] value.append(val) for i in range(1,layer): print("layer is ",i) childrennumber=2**i for j in range(childrennumber): val=int(input("please enter an integer:\n")) value.append(val) # print a binary tree33 temp=len(value) cc=2*temp index=0 for l in range(layer+1c): node=int(2**(l-1)) for i in range(node): print("*"*cc,value[index],"*"*cc,end='') index=index+1 print('') cc=cc//2
creabinarytree(3) layer is 0 please enter the root: 1 layer is 1 please enter an integer: 2 please enter an integer: 3 layer is 2 please enter an integer: 4 please enter an integer: 5 please enter an integer: 6 please enter an integer: 7 ******* 1 ******* *** 2 ****** 3 *** * 4 ** 5 ** 6 ** 7 *