코딩공부/T.I.L

2022-01-20 자료구조/tree

지구야 사랑해 2022. 1. 20. 16:27

 - 그래프의 여러 구조 중 데이터가 바로 아래에 있는 하나 이상의 데이터에 단방향으로 연결된 계층적 자료구조의 한 구조

 

- 데이터를 순차적으로 나열시킨 선형 구조가 아니라, 하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조 

 

- 트리 구조는 계층적으로 표현이 되고, 아래로만 뻗어나가기 때문에 사이클이 없음.

용어정리

  • 노드(Node) : 트리 구조를 이루는 모든 개별 데이터
  • 루트(Root) : 트리 구조의 시작점이 되는 노드
  • 부모 노드(Parent node) : 두 노드가 상하관계로 연결되어 있을 때 상대적으로 루트에서 가까운 노드
  • 자식 노드(Child node) : 두 노드가 상하관계로 연결되어 있을 때 상대적으로 루트에서 먼 노드
  • 리프(Leaf) : 트리 구조의 끝 지점이고, 자식 노드가 없는 노드

 

트리구조의 특징

 

- 깊이 : 루트로부터 하위 계층의 특정 노드까지의 깊이를 표현할 수 있음.

예를 들어 루트 A의 깊이는 0이고, B와 C의 깊이는 1, D, E, F, G 의 깊이는 2

 

- 레벨 : 같은 깊이를 가지고 있는 노드를 묶어서 레벨이라 부름

깊이가 0인 루트 A의 레벨은 1, 깊이가 1인 B와 C의 레벨을 2, D . E . F. G의 레벨은 3.

같은 레벨에 나란히 있는 노드를 형제 노드라 부름 

 

- 높이 : 리프 노트를 기준으로 루트까지의 높이를 표현 할 수 있음.

부모 노드는 자식 노드의 가장 높은 높이 값에 + 1의 높이를 가짐.

 

예를들어 H, I, E, F, J의 높이는 0 , D와 G의 높이는 1, B와 C의 높이는 2

루트 A의 높이는 3.

 

 

트리의 실사용 예제

 

컴퓨터의 디렉토리 구조 , 월드컵 토너먼트 대진표, 가계도(족보), 조직도 등.

 

'코딩공부 > T.I.L' 카테고리의 다른 글

2022-01-21 Tree traversal  (0) 2022.01.21
2022-01-20 Binary Search Tree  (0) 2022.01.20
2022-01-20 자료구조/Graph  (1) 2022.01.20
2022-01-20 자료구조/Queue  (0) 2022.01.20
2021-01-20 자료구조 Stack  (0) 2022.01.20