BLOG
트리의 특정 노드는 노드와 모든 상위 노드를 캡슐화하는 개체인 TreePath 또는 표시 영역의 각 행이 하나의 노드를 표시하는 표시 행으로 식별할 수 있습니다. C의 이진 트리 표현: 트리는 트리의 맨 위 노드에 대한 포인터로 표시됩니다. 트리가 비어 있으면 루트 값은 NULL입니다. 트리 노드에는 다음 부품이 포함됩니다. 1. 데이터 2. 왼쪽 자식 에 대한 포인터 3. 오른쪽 아이에 대한 포인터 응용 프로그램은 튜토리얼 리더 리처드 스탠포드에서 제공하는 예를 기반으로합니다. C에서는 구조를 사용하여 트리 노드를 나타낼 수 있습니다. 다음은 정수 데이터가 있는 트리 노드의 예입니다. Java 모양과 느낌이 선을 그리지 않으면 안 되도록 지정하려면 이 코드를 사용합니다. 자식이 없는 모든 노드를 제거해야 합니다.
그런 다음 도움을 주셔서 감사합니다, 일반적으로 루트라는 우리의 트리의 시작 노드를 추가 할 수 있습니다 : 다음 그림은 특정 사람의 후손이나 조상을 표시하는 계보예라는 응용 프로그램을 보여줍니다. (이 예제를 제공하는 튜토리얼 리더 올리비에 베를랑거에게 감사드립니다.) 이 기사에서는 int 값을 포함하는 정렬된 이진 트리를 사용합니다. 앞의 그림에서 볼 수 있듯이 트리는 일반적으로 각 노드에 대한 아이콘과 일부 텍스트를 표시합니다. 곧 표시 될 것 같은 이러한 사용자 지정할 수 있습니다. 추가된 모든 노드는 트리에 포함되어야 합니다. 이진 트리는 각 노드에 최소 2개의 자식이 있을 수 있는 재귀 데이터 구조입니다. 이제 이 메서드를 사용하여 예제에서 트리를 만드는 방법을 살펴보겠습니다. 이 자습서에서는 Java에서 트리 데이터 구조를 만듭니다. Java에는 트리 데이터 구조가 내장되어 있지 않습니다. 아래 이미지와 같이 트리를 만드는 것으로 시작해 보겠습니다. 트리에는 루트 노드가 있으며 여러 자식이 흥미롭게도 TreeModel 인터페이스는 모든 종류의 개체를 트리 노드로 허용합니다.
노드를 DefaultMutableTreeNode 개체로 표시하거나 해당 노드가 TreeNode 인터페이스를 구현할 필요가 없습니다. 따라서 TreeNode 인터페이스가 트리 모델에 적합하지 않은 경우 트리 노드에 대한 고유한 표현을 고안해 보십시오. 예를 들어 기존 계층 적 데이터 구조가 있는 경우 이를 복제하거나 TreeNode 금형에 강제로 넣을 필요가 없습니다. 기존 데이터 구조의 정보를 사용하도록 트리 모델을 구현하기만 하면 됩니다. 트리: 선형 데이터 구조인 배열, 링크된 목록, 스택 및 큐와 달리 트리는 계층적 데이터 구조입니다. 또 다른 일반적인 작업은 트리에서 노드를 삭제하는 것입니다. 좋은 기사, 정말 감사합니다! 구조의 어느 곳에나 노드가 이미 있는지 확인하는 가장 효율적인 방법이 무엇인지 말해 주시겠습니까? 예를 들어 노드 데이터가 String이라고 가정하는 경우 이름으로 지정합니다. 이제 위의 이미지와 같이 트리에 노드를 추가하는 전체 예제를 살펴보겠습니다. 이 문서에서는 Java에서 정렬된 이진 트리와 가장 일반적인 작업을 구현하는 방법을 설명했습니다.
모양과 느낌에 관계없이 노드에 의해 표시되는 기본 아이콘은 노드가 리프인지 여부와 확장 여부에 따라 결정됩니다. 예를 들어 Windows 및 Motif 모양 및 느낌 구현에서 각 리프 노드의 기본 아이콘은 점입니다. Java 모양과 느낌에서 기본 리프 아이콘은 종이모양의 기호입니다. 우리가 보여 준 모든 모양과 느낌 구현에서 분기 노드는 폴더와 같은 기호로 표시됩니다. 일부 모양과 느낌은 축소된 분기와 확장된 분기에 대해 서로 다른 아이콘을 가질 수 있습니다. JTree 클래스를 사용하면 계층 데이터를 표시할 수 있습니다.