English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом примере мы изучим, как выполнять постордерный обход дерева в 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. Здесь мы выполняем постордерное遍ление дерева.