python二叉排序树的创建
时间: 2023-12-24 10:24:08 浏览: 70
python实现的二叉树排序
二叉排序树是一种特殊的二叉树,它的左子树中的所有节点的值都小于根节点的值,而右子树中的所有节点的值都大于根节点的值。在Python中,我们可以通过定义一个二叉树节点类来实现二叉排序树的创建。具体步骤如下:
1. 定义一个二叉树节点类,包含节点值、左子树和右子树三个属性。
2. 定义一个二叉排序树类,包含根节点属性和插入节点方法。
3. 在插入节点方法中,先判断根节点是否为空,如果为空则将新节点作为根节点;否则,比较新节点的值与当前节点的值的大小,如果小于当前节点的值,则递归插入到当前节点的左子树中,否则递归插入到当前节点的右子树中。
下面是Python二叉排序树的创建代码示例:
```
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BinarySearchTree:
def __init__(self):
self.root = None
def insert(self, val):
if not self.root:
self.root = TreeNode(val)
else:
self._insert(val, self.root)
def _insert(self, val, node):
if val < node.val:
if not node.left:
node.left = TreeNode(val)
else:
self._insert(val, node.left)
else:
if not node.right:
node.right = TreeNode(val)
else:
self._insert(val, node.right)
```
阅读全文