在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)
猜你喜欢
- Python如何获取打开文件的行数?Python文件行数要怎么得到
- 如何使用python的numpy库?什么是python中的numpy库?
- 如何用命令行执行Python?Python在命令行中怎么使用
- Python能写桌面程序吗?Python写桌面程序用什么比较好
- Python变量的定义要怎么写?Python定义变量有哪些方式
- Linux系统如何安装python?Linux安装python的步骤是什么
- Python如何数出字符串字符个数?Python字符串个数怎么得
- Python常用模块有哪些?Python有什么不下载就能用的库
- Python为什么要控制缩进?Python缩进了能有什么用
- Python为什么要使用class?Python使用类有什么作用
