利用python在链式存储结构上建立一颗二插排序树并测试
时间: 2023-12-23 21:01:56 浏览: 73
建立一颗二叉排序树可以按照以下步骤进行:
1. 定义一个节点类,包含节点值、左子树和右子树。
2. 定义一个插入节点的函数,将新节点插入到合适的位置上,保证左子树的值小于节点值,右子树的值大于节点值。
3. 定义一个遍历树的函数,按照中序遍历的顺序输出树中的所有节点值。
下面是具体的Python代码实现:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def insert_node(root, val):
if not root:
return Node(val)
if val < root.val:
root.left = insert_node(root.left, val)
else:
root.right = insert_node(root.right, val)
return root
def inorder_traversal(root):
if root:
inorder_traversal(root.left)
print(root.val)
inorder_traversal(root.right)
# 测试代码
root = None
root = insert_node(root, 5)
root = insert_node(root, 3)
root = insert_node(root, 7)
root = insert_node(root, 1)
root = insert_node(root, 9)
inorder_traversal(root)
```
输出结果为:
```
1
3
5
7
9
```
这表明二叉排序树已经正确地建立,并且能够按照中序遍历的顺序输出所有节点的值。
阅读全文