Java - 트리(Tree)

HY SONG·2023년 4월 16일
0

Algorithm

목록 보기
2/3

트리(Tree)란 무엇인가?

계층적인 구조를 표현하는 비선형 자료 구조

트리의 구성요소

루트

  • 시작하는 꼭짓점의 데이터

노드(node)

  • 데이터를 저장할 수 있으며, 트리 안에서의 위치를 나타낸다
  • 데이터와 부가적인 정보를 가지고 있을 수 있다
  • 다른 노드와 연결될 수 있으며, 부모-자식 관계를 형성한다

간선(edge)

  • 각 노드를 잇는 선

부가적인 용어

부모-자식 관계

  • 각 노드는 부모 노드와 연결되어 있고, 부모 노드로부터 분기하여 자식 노드를 가질 수 있다

깊이(Depth)

  • 루트 노드에서 특정 노드까지의 경로의 길이이다

높이(Height)

  • 트리의 가장 깊은 깊이를 나타낸다

트리의 장점

효과적인 계층 구조 표현

  • Tree 자료 구조는 계층 구조를 나타내는 데에 효과적이다.

정렬과 탐색에 활용

  • Tree 자료 구조는 이진 탐색 트리, 힙(Heap) 등과 같은 다양한 형태로 사용될 수 있으며, 정렬과 탐색을 위한 알고리즘을 구현하는 데에도 사용된다

삽입과 삭제가 쉬움

Tree 자료 구조는 노드의 삽입과 삭제가 쉽다

구조 파악이 용이

Tree 자료 구조는 시각화가 쉬우므로, 트리를 시각적으로 표현하여 이해하기 쉽다

0개의 댓글