자바 의 다 진 트 리(tree)생 성 및 표시
먼저 다 진 트 리 의 표 시 를 보 세 요.
1.다 진 트 리 의 표시:
여러 아 이 를 표시 해 야 하기 때문에 이 진 트 리 처럼 하나의 left child,하나의 right child 를 표시 할 수 없습니다.물론 아이 형제 표현 법 으로 다 진 나 무 를 이 진 트 리 로 바 꿀 수도 있다.그러나 자바 는 링크 기능 을 제공 하여 수량 이 정 해 지지 않 은 아 이 를 설정 할 수 있 고 다 진 트 리 의 표시 와 실현 에 큰 편 의 를 제공 합 니 다.다음은 다 진 트 리 가 체인 시 계 를 이용 하여 아이의 표현 방법 을 나타 낸다.
class treenode
{
String data;
treenode parent;
LinkedList<treenode> childlist;
treenode()
{
data = null;
childlist = new LinkedList();
parent = null;
}
}
2.다 진 트 리 의 표시:
다 진 트 리 의 표 시 는 나무의 비교적 중요 한 부분 으로 합 리 적 인 방식 으로 보 여 주 려 면 보통 깊이 있 게 보 여 준다.
private static void displaytree(treenode f, int level) { //
String preStr = "";
for(int i=0; i<level; i++) {
preStr += " ";
}
for(int i=0; i<f.childlist.size(); i++) {
treenode t = f.childlist.get(i);
System.out.println(preStr + "-"+t.data);
if(! t.childlist.isEmpty()) {
displaytree(t, level + 1);
}
}
}
프로그램 을 바 꾸 는 데 는 재 귀적 으로 깊이 있 게 옮 겨 다 니 며 인쇄 에 서 는 들 여 쓰기 방식 으로 부자 관 계 를 나타 내 는 것 을 알 수 있 습 니 다.주의해 야 할 것 은 이 프로그램 이 전체 뿌리 를 인쇄 할 수 있 도록 트 리 가 생 성 될 때 첫 번 째 노드 가 비어 있 고 아이의 노드 가 원래 의 뿌리 를 가리 키 는 것 입 니 다.이렇게 인쇄 해 야 완전 하 다.3.다 진 트 리 생 성:
다 진 트 리 의 생 성 은 트 리 응용의 핵심 이다.다 진 트 리 의 목적 은 여러 아이 가 있 을 수 있 는 나무 모양 구 조 를 나타 내 는 것 이다.
이 실현 방법 은 주로 두 가지 측면 에 기초 하고 있다.
1)자바 대상 의 할당 값 은 reference 관계 이 고 같은 나무 로 변 경 됩 니 다.
2)current 지침 은 항상 나무의 성장 을 위해 분석 할 노드 를 가리킨다.
대체 알고리즘 은 다음 과 같다.
whole_root = root;
current = root;
while(list != null)
{
temp = list.pop();
current.childlist.add(temp);
current = temp;
// your program
}
이렇게 하면 한 그루 를 생 성 할 수 있 습 니 다.whole루트 가 루트 인 트 리 는 display tree()를 사용 하면 인쇄 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.