English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Очереди (Queue)

Java Карты (Map)

Java Множества (Set)

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Программа на Java для вычисления количества листовых узлов в дереве

    Java полный список примеров

В этом примере мы будем изучать, как использовать Java для вычисления количества листовых узлов в дереве.

Пример: Программа на Java для вычисления количества листовых узлов в дереве

class Node {
  int item;
  Node left, right;
  public Node(int key) {
  item = key;
  left = right = null;
  }
}
class Main {
  // Корень дерева
  Node root;
  Main() {
  root = null;
  }
  // Метод подсчета листовых узлов
  public static int countLeaf(Node node) {
    if (node == null) {
      return 0;
    }
    // Если левый и правый узлы пусты
    // Это листовой узел
    if (node.left == null && node.right == null) {
      return 1;
    }
    else {
      return countLeaf(node.left) + countLeaf(node.right);
    }
  }
  public static void main(String[] args) {
    // Создание объекта Tree
    Main tree = new Main();
    // Создание узлов дерева
    tree.root = new Node(5);
    tree.root.left = new Node(3);
    tree.root.right = new Node(8);
    //Создание подузлов левого поддерева
    tree.root.left.left = new Node(2);
    tree.root.left.right = new Node(4);
    //Создание подузлов правого поддерева
    tree.root.right.left = new Node(7);
    tree.root.right.right = new Node(9);
    //Вызов метода для вычисления количества листовых узлов
    int leafNodes = countLeaf(tree.root);
    System.out.println("Общее количество листовых узлов = " + leafNodes);
  }
}

Результат вывода

Общее количество листовых узлов = 4
Вычисление количества листовых узлов

В上面的 примере, мы уже реализовали структуру данных дерево с помощью Java. Здесь, мы используем рекурсию для вычисления количества листовых узлов в дереве.

Рекомендации:

Java полный список примеров