python二叉查找树

来源:互联网 发布:网络推广赚钱吗 编辑:程序博客网 时间:2024/06/11 00:55

二叉查找树:
左节点<根节点<右节点

# 树结构class Node(object):    def __init__(self, value=None, left=None, right=None):        self.value = value        self.left = left        self.right = right

1、新建树

# 根据数组,求二叉查找树def create_find_tree(array):    l = len(array)    if l == 0:        return None    if l == 1:        return Node(array[0])    head = Node(array[0])    for i in range(1,l):        insert_tree(head, array[i])    return head

2、插入

def insert_tree(root, v):    if not root:        return Node(v)    if root.value > v:        root.left = insert_tree(root.left, v)    if root.value <= v:        root.right = insert_tree(root.right, v)    return root
0 0