# _*_ encoding:utf-8 _*_
"""
二分搜索树
"""
from random import randint
import time
import copy
import Queue
class Node(object):
"""节点"""
def __init__(self, key, value):
self.key = key
self.value = value
self.left = None
self.right = None
class BinarySearchTree(object):
"""二叉搜索树"""
def __init__(self):
self.root = None
self.count = 0
def size(self):
return self.count
def isEmpty(self):
return self.count == 0
def insert(self, key, value):
# 插入元素
self.root = self.__insert(self.root, key, value)
def __insert(self, node, key, value):
# 插入元素,向以node为根的二叉树插入元素,返回插入新元素之后的根节点
if not node:
# 递归到底,节点直接赋值
self.count =+ 1
return Node(key, value)
else:
if key == node.key:
# key
【算法——Python实现】二叉搜索树
最新推荐文章于 2021-02-03 23:12:44 发布
本文详细介绍了如何使用Python编程实现二叉搜索树,包括插入、删除和查找等基本操作。通过实例代码解析,帮助读者理解二叉搜索树的特性及其在数据检索中的高效性。
摘要由CSDN通过智能技术生成