[英]how to add a node in a binary search tree
我有这个2函数-第一个是创建节点,第二个是遍历树以查找值放置的递归函数:
def create_node(number=None):
return {"Number": number, "Right": None, "Left":None}
def insert(number, pointer):
pointer_number=pointer["number"]
if pointer_number is none:
pointer["number"]=number
elif number > pointer_number:
if pointer["right"] is none:
pointer["right"] = create_node(number)
else:
insert(number, pointer["right"])
else:
if pointer["left"] is none:
pointer["left"] = create_node(number)
else:
insert (number, pointer["left"])
现在,我创建了树的根:
root = create_node(5)
我面临的问题是当我尝试使用插入功能将值添加到树中时。 我缺少了一些东西,但我不知道该怎么做。 请指教 ..
所以两件事
None
(如果您在create_node
所做的所有操作) pointer["number"]
值时,实际上并没有检查在create_node
方法中设置的值,它的关键是"Number"
(大写“ N”),这就是它的原因。抛出KeyError
。 与"right"
和"left"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.