2013-03-17 71 views
1

我有一個任務,實現一個打印二進制樹t的所有內部節點的平衡因子的方法。計算平衡因子

我試過這樣做,但我需要三種方法..我認爲應該有一個,我只能打印出根的平衡因子,我認爲這應該是對於樹的每個節點t ?

public int maxHeight(BinaryTree t) {  
    if(t == null) { 
     return 0; 
    } 

    int height1 = maxHeight(t.getLeft()) + 1; 

    int height2 = maxHeight(t.getRight()) + 1; 

    if(height1 > height2) { 
     return height1; 
    } 
    else { 
     return height2; 
    } 
} 

public int minHeight(BinaryTree v) { 
    if(v == null) { 
     return 0; 
    } 

    int height1 = minHeight(v.getLeft()) + 1; 

    int height2 = minHeight(v.getRight()) + 1; 

    if(height1 < height2) { 
     return height1; 
    } 
    else { 
     return height2; 
    } 
} 

public int balanceFactor(int max, int min) { 
    return max - min; 
} 

回答