我很难理解大O问题。
问题
public boolean isHB(TreeNode root){
if (root==null)
return tree;
int heightL = height(root.left);
int heightR = height(root.right);
boolean leftHB = isHB(root.left);
boolean rightHB = isHB(root.right);
if (Math.abs(heightL-heightR)>1)
return false;
return leftHB && rightHB;
}
1/假设树高度平衡。找到大O,其中n是树中节点的数量。
2/不要假设树高度平衡。找到大O,其中n是树中节点的数量。
我不明白的
1/解为:2T(2/n)+O(n)=O(n log(n))。我知道2T(2/n)来自何处,但我不知道O(n)来自哪里。
2/解为:T(n-1)+O(n)=O(n^2)。在这种情况下,由于树是不平衡的,我理解t(n-1),但我仍然无法确定O(n)来自何处。