4. 제9장 나무--9.3 두 갈래 나무 결점류 표시(2)
1. 트리 복사
1) 정적 방법은 현재 트리가null일 수 있기 때문에 정적 방법으로 오류를 보고하지 않습니다.
2) 원본 데이터 트리를 매개 변수로 하고 복사할 트리가null이면 null로 직접 되돌려줍니다.
3) 복사된 트리가null이 아니라면 트리의 왼쪽 결점과 오른쪽 결점 링크를 복사해야 합니다.따라서 두 개의 임시 변수가 좌우 노드를 가리키는 복사가 필요합니다. 그것이 바로 leftCopy와 rightCopy입니다. 루트 노드를 되돌려주고 BTNode 대상을 만들어야 합니다.
public static <E> BTNode<E> treeCopy(BTNode<E> source){
BTNode<E> leftCopy,rightCopy;
if(source == null){
return null ;
} else{
leftCopy = treeCopy(source.left);
rightCopy = treeCopy(source.right);
return new BTNode<E>(source.data, leftCopy, rightCopy);
}
}
2. 트리의 요소 개수
1) 나무가null이면 바로 0으로 돌아갑니다.
2) 나무가null이 아니라면 원소 개수는 +1이 필요합니다. 그리고 왼쪽 나무와 오른쪽 나무를 훑어보십시오. 왼쪽 나무와 오른쪽 나무의 노드 개수와 뿌리 노드 1을 더하면 총 노드 개수입니다.
public static <E> long treeSize(BTNode<E> root){
if(root == null){
return 0;
} else{
return 1 + treeSize(root. left) + treeSize(root. right);
}
}
다음 절은 두 갈래 나무의 역력: 앞의 역력, 중간의 역력, 뒤의 역력.
A life without a friend is a life without a sun.
사람이 친구가 없으면 생명만 있고 태양이 없는 것과 같다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 데이터 구조 2차원 트리의 실현 코드일.두 갈래 트리 인터페이스 2 노드 클래스 3. 두 갈래 나무 구현 이 글을 통해 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.