import turtle as t
def tree(deep,long,size):#画一个二叉树:deep深度 long第一根树干的长度 size第一根树干的粗细
if deep == 0:
return
elif deep == 1:
t.pencolor('green')
else:
t.pencolor('brown')
t.pensize(size)
t.down()
t.forward(long)
t.right(30)
#画右子树
tree(deep-1,long*0.75,size*0.75)
t.left(60)
#画左子树
tree(deep-1,long*0.75,size*0.75)
#回去
t.right(30)#以上转的度数:左转的度数之和等于右转的度数之和。30+30=60
t.bk(long)
t.up()
t.speed(9)
t.setup(800,600,0,0)
t.up()
t.goto(0,-200)
t.setheading(90)
tree(4,100,10)
1.本身是一个有序树——’树‘字相当于’数‘字
2.树中包含的各个节点的度不能超过2(也就是分叉),即只能是0、1或2.
3.满二叉树:除了最后一层的节点没有任何节点外,每层上的所有节点都有两个节点。
4.完全二叉树:深度为h,除了第h层外,其他各层的节点都有两个节点,且第h层的所有节点都集中在最左边
5.满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。
6.子数:左子树、右子树
1.叶子节点:也称为终端节点,没有子树的节点或度为零的节点。
7.节点:2.分支节点:也称为非终端节点,度不为零的节点成为非终端节点。
3.根节点:第一个节点
A.节点的度:一个节点所拥有子树数目称为节点的度
8.度: B.树的度:树中所有的节点的度的最大值
C.宽度:每层最多的节点数
(1)节点的层次:从根节点开始,假设根节点为第一层,根节点的子节点为2层,以此类推,如果某一个节点位于第x层,则其子节点位于x+1层。
9.层次:
(2)树的深度:也就是树的高度。