이진 검색 트리에서 요소를 가져 와서 파일에 쓰는 방법에 대한 정보를 많이 찾은 다음 트리로 다시 읽습니다. 유형 "로드"기능. 나는 사람들이 그것에 대해 이야기 할 수있는 몇 가지 방법을 찾았지만 여기에있는 제안과 같은 제안을 프로그램 자체에 구현하는 데 문제가 있습니다. 그래서 여러 가지 정렬 방법 인 inOrder, postOrder 및 preOrder가 있지만 이러한 메소드 중 하나가 호출 될 때마다 항상 파일에 쓸 필요는 없습니다. saveFile 및 loadFile 메서드를 호출하여 자동으로 쓰기/읽기를하고 싶습니다. 그러나 BST의 모든 노드를 가져 오기 위해 해당 정렬 메서드에서 작성기/판독기를 호출해야합니까? 아니면 외부에서 수행 할 수있는 방법을 사용할 수 있습니까? 프로그램이 자체적으로 그렇게하기 때문에 파일에 반드시 정렬 할 필요는 없습니다. 이것에 대해 어떤 제안이 있습니까?이진 검색 트리의 내용을 저장 /로드하십시오.
public void inOrderTraverseTree (Node focusNode) {
if (focusNode != null){
inOrderTraverseTree(focusNode.leftChild);
System.out.println(focusNode);
inOrderTraverseTree(focusNode.rightChild);
}//end if
}//end inOrderTraverseTree
그리고이 호출 할 때의 예를 다음과 같습니다
가 정렬되는 방법을 선택하는 사용자에게 옵션을 제공하는 별도의 메뉴 클래스에서 호출 내 정렬 클래스 중 하나 (의 예입니다 (메뉴 클래스에서, 스위치에) :case 1:
tree.inOrderTraverseTree(tree.root);
menu();
break;
나 제안 사항을 알려 주시기 바랍니다 감사합니다
인서트가 올바르게 작동하고 나무 균형이 잡히면 모든 주문이 작동하지만, 불균형 한 경우 선주문 순회가 현재 구조를 유지 관리합니다. –