在此示例中,我們將學(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í)行樹的后序遍歷。