【发布时间】:2020-11-24 08:24:42
【问题描述】:
我有一棵像这样的树:
tree = [[[None,1,None],2,[None,3,None]],4,[None,6,[None,7,None]]]
数字代表每个节点的根,none代表没有值的子节点。
比如主根是4,[[None,1,None],2,[None,3,None]]是左边的子树,这个[None,6,[None,7,无]]是他右边的子树。左边子树上的主根是 2 等等……
我的问题是我想在这棵树中插入一个值。
例如我想加值5,这就是我想要的:
tree = [[[None, 1, None], 2, [None, 3, None]], 4, [[None, 5, None], 6, [None, 7, None]]]
我的函数有两个参数,树和整数相加,我需要使用递归函数,例如这是我开始的:
def insert(tree,int):
cur = tree
prev = None
while cur != None:
prev = cur
if int < cur[1]:
cur = cur[0]
else :
cur = cur[2]
提前致谢
【问题讨论】:
-
你的树是二叉搜索树吗?
-
int不推荐作为变量名。 -
@Maaddy 这不是二叉树,因为一个节点可以有两个以上的孩子
-
Yh 它是一棵二叉树 :)
-
啊我明白了!我的坏
标签: python list tree insert binary-search-tree