在完全二叉树中,父亲节点和孩子节点的编号有着 一定的关系。当父亲节点的编号为i时,左孩子节点的编号为,右孩子节点的编号为。注:输入时,乘号用“*”表示。
补充下面的程序:(完全二叉树的建立)def tree_build(input):class TreeNode:def __init__(self, val):self.val = valself.left = Noneself.right= Nonetree =cnt =for item in :tmp = TreeNode(item)tree.append(tmp)for item in tree:if item == 0:continueif != None:if 2*cnt <= :if != None:= 2 * cntif (2*cnt+1) <= len(input):if tree[2*cnt+1].val != None:item.right = 2 * cnt + 1cnt = cnt + 1return tree
补充下列程序:(先序遍历)def preorder(i):if tree[i] == 0:returnif i <= len(tree)-1:print()if 2*i <= len(tree) - 1:preorder()if 2*i+1 <= len(tree) - 1:preorder()
补充下列程序:(二叉搜索树)def search(node,data):if == None:return 0,Noneelse:print(tree[node].val)if tree[node].val == data:return 1,nodeif tree[node].val > data:if == None:return 0,Nonereturn search(,data)else:if == None:return 0,Nonereturn search(,data)