[英]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.