Python中二叉树是什么?Python二叉树如何创建

在python程序的开发过程之中,只使用基础的几种数据类型是无法完成对错综复杂数据的处理 。那么这个时候就需要使用到到一些自己创建出来的数据机构了,二叉树就是一个比较好用的结构 。下文会来讲解一下二叉树是什么,以及python创建二叉树的方法,往下看看吧 。

Python中二叉树是什么?Python二叉树如何创建


一、二叉树是什么
二叉树是树形结构的一个重要类型,是n个有限元素的集合 。该集合或者为空、或者由一个称为根的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树 。当集合为空时,称该二叉树为空二叉树 。在二叉树中,一个元素也称作一个节点 。
二叉树还有一个非常重要的特点就是,在一个节点下面最多只能够有两个子树,也就是说一个节点只能添加两个子节点 。
二、python创建二叉树
python中要常见二叉树的话是要使用两个类来完成的,这两个类分别称之为根类和节点类 。其中节点类指的是这个节点是从哪一个节点上衍生出来的,它有什么数据,以及它的两个子树是什么 。
而根类就是去承接节点的二叉树了,所有对节点的操作实际上都是放在这个类中去实现的,因为节点类中只有元素 。那么具体的实现方法就是在根类之中去实现节点类对象,然后判断它是否为空,不为空就放到根类中,示例如下:
class Node(object):    def __init__(self, element=None, lchild=None, rchild=None):        self.element = element        self.lchild = lchild        self.rchild = rchildclass Tree(object):    def __init__(self, root=None):        self.root = root    def __add__(self, element):        node = Node(element)        if not self.root:            self.root = node        else:            queue = []            queue.append(self.root)            while queue:                cur = queue.pop(0)                if not cur.lchild:                    cur.lchild = node                    return                elif not cur.rchild:                    cur.rchild = node                    return                else:                    queue.append(cur.lchild)                    queue.append(cur.rchild)

猜你喜欢