python实现二叉树及其基本方法

2023-08-22 14:35:53 浏览数 (1)

1 问题

何利用python进行二叉树的实现。

2 方法

(1)通过创建二叉树的两个对象,一个是节点对象,一个是树对象。

(2)给这树添加基本方法:增加节点

代码清单 1

class Node: #节点类 def __init__(self, elem, lchild=None, rchild=None): self.elem = elem self.lchild = lchild self.rchild = rchildclass Tree: #树类 def __init__(self, root=None): self.root = rootclass Node: #节点类 def __init__(self, elem, lchild=None, rchild=None): self.elem = elem self.lchild = lchild self.rchild = rchildclass Tree: #树类 def __init__(self, root=None): self._root = root def add(self, item): node = Node(item) if not self._root: self._root = node return queue = [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.rchild) queue.append(cur.lchild)

3 结语

对二叉树节点的操作是通过列表存储节点的形式来操作,但是二叉树数据本身是通过链表的形式来存储,节点的操作一般使用递归函数。

0 人点赞