共計 1568 個字符,預計需要花費 4 分鐘才能閱讀完成。
要在 Java 中實現簡單的二叉樹,你可以創建一個名為 BinaryTree 的類,其中包含一個名為 Node 的內部類,表示二叉樹的節點。
public class BinaryTree {private Node root;
private class Node {private int data;
private Node left;
private Node right;
public Node(int data) {this.data = data;
this.left = null;
this.right = null;
}
}
public BinaryTree() {root = null;
}
public void insert(int data) {root = insert(root, data);
}
private Node insert(Node node, int data) {if (node == null) {node = new Node(data);
} else {if (data <= node.data) {node.left = insert(node.left, data);
} else {node.right = insert(node.right, data);
}
}
return node;
}
public boolean search(int data) {return search(root, data);
}
private boolean search(Node node, int data) {if (node == null) {return false;
}
if (data == node.data) {return true;
} else if (data < node.data) {return search(node.left, data);
} else {return search(node.right, data);
}
}
public void inorderTraversal() {inorderTraversal(root);
}
private void inorderTraversal(Node node) {if (node != null) {inorderTraversal(node.left);
System.out.print(node.data + " ");
inorderTraversal(node.right);
}
}
public static void main(String[] args) {BinaryTree tree = new BinaryTree();
tree.insert(10);
tree.insert(5);
tree.insert(15);
tree.insert(3);
tree.insert(7);
System.out.println("Inorder traversal:");
tree.inorderTraversal();
int searchData = 7;
System.out.println("\nIs " + searchData + " present in the tree? " + tree.search(searchData));
}
}
在上面的代碼中,我們使用一個內部類 Node 來表示二叉樹的節點。它有一個整數類型的 data 成員變量,以及 left 和 right 節點的引用。
BinaryTree 類有一個根節點 root,默認為 null。它包含以下方法:
- insert(int data):將給定的數據插入到二叉樹中。
- search(int data):在二叉樹中搜索給定的數據,如果找到則返回 true,否則返回 false。
- inorderTraversal():以中序遍歷的方式打印二叉樹中的節點數據。
在 main 方法中,我們創建一個二叉樹并插入一些數據。然后,我們使用 inorderTraversal 方法打印二叉樹的節點數據,并使用 search 方法搜索給定的數據。
丸趣 TV 網 – 提供最優質的資源集合!
正文完