Select Language

AI社区

AI技术百科

4.8、Python binarytree模块的用法

二叉树库需要安装,推荐使用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 节点包括以下有用的属性。

  • value:节点的值。

  • right:右孩子节点。

  • left:左孩子节点。


可以通过创建节点并修改节点的 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


我要发帖
Python模块和包
2021-12-10 23:41:51加入圈子
  • 10

    条内容
在 Python 中,目录和文件非常重要,不同的文件可以定义相同的函数和相同的变量而不会引起冲突。这点和 Java 类似,明显不同于 C、C++。由于 Python 没有在源代码层面上定义命名空间,所以文件和路径配合 import 语句就起到了命名空间的作用。
不同的 Python 文件对应不同的模块,多个在同一个目录下的 Python 文件的集合就是一个包。
本章将给读者讲解Python模块和包的概念与定义,同时介绍第三方Python包的各种安装方法及用法。