【判断不为空】
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 *