输入10个不同整数,依次插入到一颗初始为空的二叉排序树中,并对其进行中序遍历,以验证树的正确性。数据结构编写
时间: 2024-02-13 19:05:56 浏览: 21
好的,以下是使用 Python 语言实现的代码:
```python
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
class BST:
def __init__(self):
self.root = None
def insert(self, value):
if not self.root:
self.root = Node(value)
else:
self._insert(value, self.root)
def _insert(self, value, current_node):
if value < current_node.value:
if not current_node.left:
current_node.left = Node(value)
else:
self._insert(value, current_node.left)
elif value > current_node.value:
if not current_node.right:
current_node.right = Node(value)
else:
self._insert(value, current_node.right)
else:
print("Value already exists in the tree!")
def inorder_traversal(self):
if not self.root:
print("Tree is empty!")
else:
self._inorder_traversal(self.root)
def _inorder_traversal(self, current_node):
if current_node:
self._inorder_traversal(current_node.left)
print(current_node.value)
self._inorder_traversal(current_node.right)
```
然后我们可以使用以下代码来测试这个二叉排序树的正确性:
```python
bst = BST()
bst.insert(5)
bst.insert(2)
bst.insert(8)
bst.insert(1)
bst.insert(3)
bst.insert(7)
bst.insert(9)
bst.insert(4)
bst.insert(6)
bst.insert(10)
bst.inorder_traversal()
```
输出结果应该为:
```
1
2
3
4
5
6
7
8
9
10
```
这说明这个二叉排序树是正确的。