python生产二叉树
时间: 2023-10-12 12:14:46 浏览: 73
GeometricFractalsMaya:与制作几何分形相关的 Maya python 脚本
创建一个二叉树的基本步骤如下:
1. 定义一个节点类Node,该类包含数据data、左子节点left和右子节点right。
2. 定义一个二叉树类BinaryTree,该类包含根节点root。
3. 在BinaryTree中添加方法build_tree,根据给定的数据列表创建一个二叉树。该方法可以使用递归实现。
4. 可选:在BinaryTree中添加遍历方法,例如前序遍历、中序遍历和后序遍历。
下面是一个示例代码:
```
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
def build_tree(self, data_list):
if not data_list:
return None
mid = len(data_list) // 2
root = Node(data_list[mid])
root.left = self.build_tree(data_list[:mid])
root.right = self.build_tree(data_list[mid+1:])
return root
def inorder_traversal(self, root):
if root is None:
return
self.inorder_traversal(root.left)
print(root.data, end=" ")
self.inorder_traversal(root.right)
# 示例用法
data_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
bt = BinaryTree()
bt.root = bt.build_tree(data_list)
bt.inorder_traversal(bt.root)
```
输出结果:
```
1 2 3 4 5 6 7 8 9
```
以上代码演示了如何使用递归创建一个平衡二叉树,并且给出了中序遍历的实现方法。
阅读全文