Java에서 이진 검색 트리를 인쇄하는 방법은 무엇입니까? 트리에 삽입하는 코드를 작성했지만 트리를 인쇄 할 수 없으면 요소가 추가되는지 확실히 확인할 수 있습니다. 아래 코드를 게시 할 것입니다.Java 이진 검색 트리 인쇄
public class TreeNode {
TreeNode left;
TreeNode right;
TreeNode root;
int data;
public TreeNode(int d) {
data = d;
left = right = null;
root = null;
}
public synchronized void insert(int d) {
if (root == null){
root = new TreeNode(d);
}
if (d < data) {
if (left == null) {
left = new TreeNode(d);
} else {
left.insert(d);
}
} else if (d > data) {
if (right == null) {
right = new TreeNode(d);
} else {
right.insert(d);
}
}
}
public TreeNode treeSearch(TreeNode root, int target) {
if (root != null) {
if (target < root.data) {
root = treeSearch(root.left, target);
} else if (target > root.data) {
root = treeSearch(root.right, target);
}
}
return root;
}
}
그것을 인쇄 적어도 너무 많은 방법이 있습니다. 간단한 입력과 원하는 출력을 제공 할 수 있습니까? 너 혼자 해봤 니? – Fureeish
그 방법을 설명하기가 어렵지만 나는 그것을 시험해 볼 것입니다. 출력은 루트를 먼저 출력 한 다음 루트를 출력하고 루트를 출력하는 낮은 레벨을 삽입 한 다음 삽입 된 값에 따라이 레벨을 분기하는 더 낮은 레벨을 출력해야합니다. – Bryan
내 의견을 읽으면서 "** 간단한 입력과 원하는 출력을 제공 할 수 있습니까? **"부분을 놓친 것 같습니다. 이것은 질문을 편집해야한다는 것을 의미하므로 누구나 쉽게 의견을 볼 수 있습니다. – Fureeish