原文: https://pythonspot.com/python-tree

介绍

在计算机科学中,树是模仿自然的数据结构。与自然界中的树不同,树数据结构是上下颠倒的:树的根在顶部。一棵树由节点组成,其连接称为边。 底部节点也称为叶节点。 一棵树可能没有循环。

Python 树 - 图1

一棵有八个节点的树。 树的根(5)在顶部。

Python 没有对树的内置支持。

二叉树

二叉树是一种数据结构,其中每个节点最多具有两个子代(左子代和右子代)。 一棵树的根在最上面。下面的每个节点都有一个以上的节点称为父节点。我们定义一个具有leftright属性的类Tree。 从这个二叉树中,我们定义根(三个中的顶部)和一个左右节点。

  1. #!/usr/bin/env python
  2. class Tree(object):
  3. def __init__(self):
  4. self.left = None
  5. self.right = None
  6. self.data = None
  7. root = Tree()
  8. root.data = "root"
  9. root.left = Tree()
  10. root.left.data = "left"
  11. root.right = Tree()
  12. root.right.data = "right"
  13. print(root.left.data)

然后,您可以像下面这样进一步创建树:

  1. #!/usr/bin/env python
  2. class Tree(object):
  3. def __init__(self):
  4. self.left = None
  5. self.right = None
  6. self.data = None
  7. root = Tree()
  8. root.data = "root"
  9. root.left = Tree()
  10. root.left.data = "left"
  11. root.right = Tree()
  12. root.right.data = "right"
  13. root.left.left = Tree()
  14. root.left.left.data = "left 2"
  15. root.left.right = Tree()
  16. root.left.right.data = "left-right"