在此示例中,我們將學(xué)習(xí)如何在Java中執(zhí)行后序樹遍歷。
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); //遍歷根節(jié)點(diǎn) System.out.print(node.item + "->"); } public static void main(String[] args) { //創(chuàng)建一個(gè)Tree對(duì)象 Tree tree = new Tree(); //創(chuàng)建樹的節(jié)點(diǎn) tree.root = new Node(1); tree.root.left = new Node(12); tree.root.right = new Node(9); //左子節(jié)點(diǎn)的子節(jié)點(diǎn) tree.root.left.left = new Node(5); tree.root.left.right = new Node(6); // 后序樹遍歷 System.out.println("后序樹遍歷"); tree.postorder(tree.root); } }
輸出結(jié)果
后序樹遍歷 5->6->12->9->1->
在上面的示例中,我們已經(jīng)用Java實(shí)現(xiàn)了樹數(shù)據(jù)結(jié)構(gòu)。在這里,我們正在執(zhí)行樹的后序遍歷。