在此示例中,我們將學(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。