Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序來計算樹中葉節(jié)點的數(shù)量

    Java 實例大全

在此示例中,我們將學習使用Java計算樹中葉節(jié)點的數(shù)量。

示例:Java程序來計算樹中葉節(jié)點的數(shù)量

class Node {
  int item;
  Node left, right;

  public Node(int key) {
  item = key;
  left = right = null;
  }
}

class Main {
  //樹根
  Node root;

  Main() {
  root = null;
  }

  //計算葉節(jié)點的方法
  public static int countLeaf(Node node) {
    if(node == null) {
      return 0;
    }

    //如果節(jié)點的左、右為空
    //它是葉節(jié)點
    if (node.left == null && node.right == null) {
      return 1;
    }
    else {
      return countLeaf(node.left) + countLeaf(node.right);
    }
  }

  public static void main(String[] args) {

    //創(chuàng)建一個Tree對象
    Main tree = new Main();

    //創(chuàng)建樹的節(jié)點
    tree.root = new Node(5);
    tree.root.left = new Node(3);
    tree.root.right = new Node(8);

    //創(chuàng)建左子節(jié)點的子節(jié)點
    tree.root.left.left = new Node(2);
    tree.root.left.right = new Node(4);

    //創(chuàng)建右子節(jié)點的子節(jié)點
    tree.root.right.left = new Node(7);
    tree.root.right.right = new Node(9);

    //調(diào)用方法以計算葉節(jié)點
    int leafNodes = countLeaf(tree.root);
    System.out.println("葉節(jié)點總數(shù) = " + leafNodes);
  }
}

輸出結(jié)果

葉節(jié)點總數(shù) = 4
具有7個節(jié)點和4個葉節(jié)點的Treee數(shù)據(jù)結(jié)構(gòu)
計算葉節(jié)點數(shù)

在上面的示例中,我們已經(jīng)用Java實現(xiàn)了樹數(shù)據(jù)結(jié)構(gòu)。在這里,我們使用遞歸來計算樹中葉節(jié)點的數(shù)量。

推薦

Java 實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清