二叉树库需要安装,推荐使用PIP进行安装。安装命令如下:
pip install binarytree
目前的版本是 binarytree-4.0.0。安装后,需要引入该库才可以使用,方法如下:
import binarytree
树的节点使用 binarytree.Node 类来表示。例如,如果希望创建一个值为 10 的树的节点,可以用下面的方法来实现。
>>> root = binarytree.Node(1)
>>> type(root)
<class 'binarytree.Node'>
>>> root.value
1
Node 节点包括以下有用的属性。
可以通过创建节点并修改节点的 left 和 right 属性来创建一棵树。
>>> root = binarytree.Node(1)
>>> root.left = binarytree.Node(2)
>>> root.right = binarytree.Node(3)
>>> print(root)
1
/ \
2 3
>>> root.inorder # 中序遍历
[Node(2), Node(1), Node(3)]
>>> root.preorder # 前序遍历
[Node(1), Node(2), Node(3)]
>>> root.postorder # 后续遍历
[Node(2), Node(3), Node(1)]
>>> root.height # 高度
1
>>> root.size # 节点个数
3
>>> root.levels # 广度优先遍历
[[Node(1)], [Node(2), Node(3)]]
下面创建一个稍微复杂一点的树。
>>> root = binarytree.Node(1)
>>> root.left = binarytree.Node(2)
>>> root.right = binarytree.Node(3)
>>> root.left.left = binarytree.Node(4)
>>> root.left.right = binarytree.Node(5)
>>> root.levels
[[Node(1)], [Node(2), Node(3)], [Node(4), Node(5)]]
>>> print(root)
1
/ \
2 3
/ \
4 5
>>> root.height
2
>>> root.size
5