JAVA資料結構--根據樹高生成完全二叉樹(java實現)
阿新 • • 發佈:2019-01-12
public class BTree { private int node; private BTree LChild ; private BTree RChild ; private BTree(int node){ this.node = node; LChild = null; RChild = null; } public BTree getL(){ return LChild; } public BTree getR(){ return RChild; } public void setL(BTree L){ this.LChild = L; } public void setR(BTree R){ this.RChild = R; } public int getNode(){ return node; } /** * 根據樹高建樹 * @param num * @return */ public static BTree InitBTree(int num){ if(num == 0){ return null; } BTree root = new BTree(num); root.setL(InitBTree(num-1)); root.setR(InitBTree(num-1)); return root; } /** * 統計節點個數 * @param node * @return */ public static int getNodeNum(BTree node){ if(node.getL()==null && node.getR()==null) return 1; return getNodeNum(node.getL()) + getNodeNum(node.getR()) + 1; } public static void main(String[] args){ BTree root2 = InitBTree(3); System.out.println(getNodeNum(root2)); } }