天天看点

python模拟手动创建二叉树(含实例源码)

二叉树简介

二叉树是一类比较特殊的树,在二叉树中每个节点最多只有两个儿子,分别为左和右。

python如何模拟二叉树

用面向对象的意识去模拟,也可以用列表,不过在这里用类的方式。因为清晰易懂!

如果对数据结构感兴趣,可以查看这篇博文:

执念斩长河专栏数据结构–目录

实验:用python模拟二叉树

二叉树原图

python模拟手动创建二叉树(含实例源码)

二叉树实验效果:

python模拟手动创建二叉树(含实例源码)

二叉树实验代码:

# -*- coding:utf-8 -*-

class BTree:
    def __init__(self, value):
        self.left = None
        self.data = value
        self.right = None

    def insertLeft(self, value):
        self.left = BTree(value)
        return self.left

    def insertRight(self, value):
        self.right = BTree(value)
        return self.right

    def show(self):
        print(self.data)


if __name__ == '__main__':
    Root = BTree('Root')
    A = Root.insertLeft('A')
    C = A.insertLeft('C')
    D = A.insertRight('D')
    F = D.insertLeft('F')
    G = D.insertRight('G')
    B = Root.insertRight('B')
    E = B.insertRight('E')
    print('输出根节点信息...')
    Root.show()
    print('输出根节点的左孩子节点信息.....')
    Root.left.show()
    print('输出根节点的右孩子节点信息.....')
    Root.right.show()
    print('输出A节点的左孩子节点信息....')
    A = Root.left
    A.left.show()
    print('输出根节点的左孩子的右孩子节点信息...')
    Root.left.right.show()