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 结语
对二叉树节点的操作是通过列表存储节点的形式来操作,但是二叉树数据本身是通过链表的形式来存储,节点的操作一般使用递归函数。