python创建平衡二叉树
时间: 2023-04-12 12:00:39 浏览: 121
创建平衡二叉树
4星 · 用户满意度95%
可以使用 Python 的内置模块 bisect 来创建平衡二叉树。具体实现方法可以参考以下代码:
import bisect
class Node:
def __init__(self, value):
self.left = None
self.right = None
self.value = value
class BalancedBST:
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, cur_node):
if value < cur_node.value:
if not cur_node.left:
cur_node.left = Node(value)
else:
self._insert(value, cur_node.left)
elif value > cur_node.value:
if not cur_node.right:
cur_node.right = Node(value)
else:
self._insert(value, cur_node.right)
else:
print("Value already in tree!")
def in_order_traversal(self, node):
if node:
self.in_order_traversal(node.left)
print(node.value)
self.in_order_traversal(node.right)
bst = BalancedBST()
bst.insert(5)
bst.insert(3)
bst.insert(7)
bst.insert(1)
bst.insert(9)
bst.in_order_traversal(bst.root)
输出结果为:
1
3
5
7
9
阅读全文