這是我迄今爲止。我需要計算深度爲k的樹的大小。什麼是BST以上的深度
public static int above(Node t, int k) {
if (t == null) { return 0; }
if (t.key > k)
return (above(t.left, k - 1) + above(t.right, k - 1) + 1);
else {
return above(t.left, k - 1) + above(t.right, k - 1);
}
}
編輯:此代碼工作和計算在深度k樹的大小。
public static int at(Node t, int k) {
if(t == null) return 0;
if(k == 0) return 1;
return at(t.left, k - 1) + at(t.right, k - 1);
}
什麼是存儲在t.key?這是節點在樹中的深度嗎? –
t.key是當前密鑰,因此它檢查當前密鑰是否大於k – yummyyenni
但是,爲什麼要將當前密鑰與您感興趣的深度進行比較?儘管任何給定節點的關鍵字與樹的深度沒有任何關係, –