我有这个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)
我面临的问题是当我尝试使用insert函数向树添加值时。我错过了什么,我不知道该怎么做。请指教..
答案 0 :(得分:0)
所以有两件事
None
(如果您在create_node
中执行此操作)pointer["number"]
值时,您实际上并没有检查您在create_node
方法中设置的值,它的关键是"Number"
(大写“ N“),是它抛出KeyError
的原因。 "right"
和"left"
相同。