在此示例中,我們將學(xué)習(xí)在Java中實(shí)現(xiàn)二叉樹數(shù)據(jù)結(jié)構(gòu)。
//創(chuàng)建節(jié)點(diǎn)類 class Node { int key; Node left, right; public Node(int item) { key = item; left = right = null; } } class BinaryTree { Node root; //遍歷樹 public void traverseTree(Node node) { if (node != null) { traverseTree(node.left); System.out.print(" " + node.key); traverseTree(node.right); } } public static void main(String[] args) { //創(chuàng)建BinaryTree的對(duì)象 BinaryTree tree = new BinaryTree(); //創(chuàng)建樹的節(jié)點(diǎn) tree.root = new Node(1); tree.root.left = new Node(2); tree.root.right = new Node(3); tree.root.left.left = new Node(4); System.out.print("\n二叉樹: "); tree.traverseTree(tree.root); } }
輸出結(jié)果
二叉樹: 4 2 1 3
在上面的示例中,我們已經(jīng)用Java實(shí)現(xiàn)了二叉樹。與其他數(shù)據(jù)結(jié)構(gòu)不同,Java不提供樹的內(nèi)置類。
在這里,我們創(chuàng)建了自己的類BinaryTree。