소개:
이해를 촉진하려면 이진 트리 구조를 시각화하는 것이 중요합니다. 그리고 디버깅. 이 기사에서는 이진 트리를 다이어그램 형식으로 인쇄하여 트리 구조를 명확하게 표현하는 Java 솔루션을 조사합니다.
해결책:
이 솔루션의 기본 목표 다음 예와 유사하게 행별로 이진 트리를 인쇄하는 것입니다.
4 / \ 2 5
이 목적을 위해 제공된 코드는 사용자 정의 노드 클래스를 설정합니다.
public class Node<A extends Comparable> { Node<A> left, right; A data; public Node(A data){ this.data = data; } }
인쇄 by Lines:
이 솔루션의 핵심 통찰력은 트리를 하향식 방식으로 한 줄씩 인쇄하는 것입니다. 각 노드의 하위 항목은 트리의 수준을 나타내는 적절한 들여쓰기와 함께 후속 줄에 인쇄됩니다.
예를 들어 다음 구조의 트리를 시각화하려면:
4 / \ 2 5 / \ / 1 3 6
출력은 다음과 같습니다. 다음과 유사합니다.
4 ├── 2 │ ├── 1 │ └── 3 └── 5 └── 6
코드 구현:
핵심 논리는 TreeNode 클래스의 인쇄 메서드에 캡슐화됩니다.
public void print(StringBuilder buffer, String prefix, String childrenPrefix) { buffer.append(prefix); buffer.append(name); buffer.append('\n'); for (Iterator<TreeNode> it = children.iterator(); it.hasNext();) { TreeNode next = it.next(); if (it.hasNext()) { next.print(buffer, childrenPrefix + "├── ", childrenPrefix + "│ "); } else { next.print(buffer, childrenPrefix + "└── ", childrenPrefix + " "); } } }
이 방법은 트리를 재귀적으로 순회하며 한 줄씩 인쇄하고 적절한 들여쓰기를 고려하여 트리 구조를 묘사합니다.
참고:
이 솔루션은 다음에 중점을 둡니다. 임의의 트리를 인쇄할 때 각 노드가 최대 2개의 하위 항목을 갖도록 제한하여 특별히 이진 트리를 대상으로 하도록 쉽게 수정할 수 있습니다.
위 내용은 Java에서 이진 트리 다이어그램을 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!