实现以下内容:
BST :二叉搜索树
- BST 前序遍历的非递归写法
- BST 的广度优先遍历
- BST 中的最小值
- BST 中的最大值
- 删除BST 中的最小值
- 删除BST中的最大值
- 删除BST中的任意元素(利用5、6)
BST的前序遍历非递归写法,利用栈的性质(后入先出),模拟一个栈
BST的广度优先遍历,利用队列的性质(先入先出),模拟一个队列
# Python中没有栈,我们需要模拟一个栈
class Stack():
def __init__(self):
self.items = []
def push(self,e):
self.items.append(e)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def isEmpty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
def __repr__(self):
return str(self.items)
class Queue():
def __init__(self):
self.items = []
def enqueue(self,e):
self.items.append(e)
def dequeue(self):
self.items.remove(self.items[0])
def isEmpty(self