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 Tree {
  //二叉树的根
  Node root;
  Tree() {
  root = null;
  }
  void postorder(Node node) {
    if (node == null)
      return;
    //遍历左子元素
    postorder(node.left);
    //遍历右子元素
    postorder(node.right);
    //遍历根节点
    System.out.print(node.item + "->");
  }
  public static void main(String[] args) {
    // Создание объекта Tree
    Tree tree = new Tree();
    // Создание узлов дерева
    tree.root = new Node(1);
    tree.root.left = new Node(12);
    tree.root.right = new Node(9);
    // Подузел левого поддерева
    tree.root.left.left = new Node(5);
    tree.root.left.right = new Node(6);
    // Постордерное遍ление дерева
    System.out.println("Постордерное遍ление дерева");
    tree.postorder(tree.root);
  }
}
Постордерное遍ление дерева

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

Постордерное遍ление дерева
5->6->12->9->1->

В примере выше мы реализовали структуру данных дерево с помощью Java. Здесь мы выполняем постордерное遍ление дерева.

Рекомендованные материалы для чтения:

Java полные примеры