[C언어] 트리(Tree)

[C언어] 트리(Tree)

트리(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

from http://yjchoi010517.tistory.com/57 by ccl(A) rewrite - 2021-09-12 02:26:32