提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分 。
提示:以下是本篇文章正文内容,下面案例可供参考=
1.引入库
代码如下(示例):
# 节点类
class Node(object):
def __init__(self,val):
self.val=val
self.left=None
self.right=None
#搜素二叉树类
class BinarySortTree(object):
def __init__(self):
# 搜索二叉树的根节点
self.root=None
# 查找,如果找到某个节点得值=key,返回True,否则则返回False
def find(self,key):
if self.root == None:
return False
# 如果根节点不为空
cur = self.root
while cur != None:
if cur.val == key:
return True
elif key < cur.val:
cur = cur.left
else:
cur = cur.right
return False
# 插入
def insert(self,key):
newNode = Node(key)
# 二叉树为空
if self.root == None:
self.root = newNode
else:
cur = self.root
while cur !=None:
if key < cur.val:
if cur.left == None:
cur.left = newNode
break
cur = cur.left
# key > cur.val
else:
if cur.right ==</