我想了解遞歸。 我理解愚蠢的數學例子,但我不知道它的本質。有人可以解釋我這種遞歸嗎?
我有1個例,我不明白,它是如何工作的:
TREE-ROOT-INSERT(x, z)
if x = NIL
return z
if z.key < x.key
x.left = TREE-ROOT-INSERT(x.left, z)
return RIGHT-ROTATE(x)
else
x.right = TREE-ROOT-INSERT(x.right, z)
return LEFT-ROTATE(x)
我知道這個代碼做什麼: 首先在BST插入一個節點,然後使新節點成爲了每一次旋轉根。
但在我腦海中分析代碼,我想它插入節點,它必須去,然後只是1時間它旋轉樹。
樹每次都可以旋轉嗎?
這可能是一個更好的例子http://stackoverflow.com/questions/6323656/multiple-avl-tree-rotation?rq=1 –
此外這個例子*插入15 *表示可能需要多個輪換https://jriera.webs.ull.es/Docencia/avl_handout.pdf –