day6 python 学习笔记 树

【判断不为空】

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 *


猜你喜欢

转载自blog.csdn.net/weixin_41632154/article/details/80251123