我想實現一個AVL樹,似乎與我如何使用我的節點類有問題。我得到錯誤C4430:與第二個getHeight缺少類型說明符我想我指定類型爲子樹的節點? template <typename T>
class SetAVL
{
public:
int getHeight()
{
return getHeight(root);
}
// Complaining about this
我在AVL Tree Wikipedia page注意到以下注釋: 「如果每個節點還記錄其子樹(包括本身和它的後代)的大小,則該節點可以通過指數爲O檢索(log n)的時間作爲好。」 我有谷歌,發現少數地方提accessing by index,但似乎無法找到一個算法會寫的說明。 非常感謝 [更新]謝謝大家。如果發現@templatetypedef與@一個答案結合user448810 links以
我寫了一個python代碼來實現。在編寫代碼時,我完全提到了我的僞代碼。爲了測試我創建的類,我寫了一個測試代碼「app.py」。它從用戶節點的數量和隨機如下生成AVL樹: - from avl import *
import random
n = input("Enter number of nodes: ")
l = random.sample(range(-10000,10001),n