0
的至少共同的祖先,我對以下問題的工作類:錯誤發現二叉搜索樹
找到兩個節點之間的最小共同祖先在二叉搜索樹 。
我已經轉入下面的代碼,並被通知它不能正常工作,即使我認爲我已經正確地解決了所有問題。有人可以提供有關我在做什麼錯誤的見解嗎?
# Main Function.
def Question4(T, r, n1, n2):
# Compare values of n1, n2, in relation to r to find LCA.
while not n1 <= r <= n2:
r = r if n1 <= r else r
# return LCA.
return r
# Test Cases.
T = [[0, 1, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 0, 0]]
r = 3
p = 1
q = 4
print ("Least Common Ancestor is:", Question4(T, r, p, q))
# Least Common Ancestor:
# 3
什麼是T,r,n1和n2?那些是神祕的變量名稱,你能至少描述它們嗎? – usamec
代碼沒有任何意義(它會返回'r'或者不會終止),所以我猜測它甚至從未在單個測試用例上運行過。你執行了哪些步驟來檢查「一切工作正常」? –
對不起,'T'代表樹'r'的根,'n1,n2'代表兩個節點。儘管如下所述,我認爲我缺乏如何解決這個問題的基本概念。我很可能需要重新編寫它。 – NoOrangeJuice