C언어/자료구조

[C언어] 트리(Tree)

yujin0517 2021. 9. 12. 01:46

트리(Tree)

트리는 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조이다.

트리구조를 사용하여 컴퓨터의 디렉터리 구조, 집안의 족보, 기업의 조직도 등을 표현할 수 있다.

트리구조(출처 - 윤성우의 열혈 자료구조 pdf)

 

트리 관련 용어

  • 노드(node)

      -> 트리의 구성요소, A, B, C, D, E, F와 같은 요소

  • 간선(edge)

      -> 노드와 노드를 연결하는 연결선

  • 루트 노드(root node)

      -> 트리 구조에서 최상위에 존재하는 노드, A와 같은 노드

  • 단말 노드(terminal node), 잎사귀 노드(leaf node)

      -> 아래로 다른 노드가 연결되어 있지 않은 노드, C, D, E, F와 같은 노드

  • 내부 노드(internal node), 비단말 노드(nonterminal node)

      -> 단말 노드를 제외한 모든 노드, A, B와 같은 노드

 

  • 부모 노드(parent node)

      -> A 노드는 B, C, D노드의 부모 노드이다.

  • 자식 노드(child node)

      -> B, C, D노드는 A 노드의 자식 노드이다.

  • 형제 노드(sibling node)

      -> B, C, D는 부모 노드가 같기에 서로가 서로의 형제 노드이다.

 

트리구조에 대해 간단한  개념과 용어를 정리했습니다. 

다음 글에서는 이진 트리와 서브 트리에 대해 설명하겠습니다.

감사합니다!

 

2021.09.11