프로그래밍[Univ]/데이터구조

[트리] 트리구조 특징 및 용어설명 6/21

Cloud Travel 2011. 6. 21. 12:05
* Tree 트리구조
 ⓐ 특징
  > 노드와 간선의 집합
  > 계층 구조
   - 트리를 구성하는 노드의 관계가 부모-자식이라는 의미
   - 특정 부모노드 하나에 여러개의 자식 노드들이 연결되는 구조
     > 트리를 구성하는 부모-자식 노드의 관계가 1:1 이 아님! → 비선형구조!
  > 특정 노드 하나가 여러개의 자식을 보유 가능하나, 각 노드는 단 하나의 부모노드만을 가질 수 있음.

 ⓑ 용어정리
  > 노드의 구성
   - 노드 : 일반적으로 모델링하는 자료구조/시스템의 객체
   - 간선 : 노드 사이의 연결선(부모-자식 관계를 정의해줌)
  > 노드의 종류
   - 루트 노드 : 트리의 첫번째 노드 / 부모노드가 없는 노드
   - 단말 노드 : 자식 노드가 없는 노드
   - 내부 노드 : 자식 노드가 있는 노드 / 모든 노드 집합 - 단말 노드 집합
  > 노드 사이의 관계
   - 부모와 자식노드 : 간선으로 연결되 어 있는 노드들의 관계 / 上 : 부모노드 / 下 : 자식노드
   - 선조 노드 : 특정 노드의 부모노드에서 루트노드까지의 모든 부모 노드
   - 후손 노드 : 특정 노드의 아래에 있는 모든 노드
   - 형제 노드 : 같은 부모 노드의 자식 노드
  > 트리의 속성
   - 레벨 : 루트노드부터의 거리 / 루트 노드의 레벨은 0 or 1로 지정
   - 높이 : 특정 노드의 자식 노드중 높이가 가장 높은 노드의 높이 + 1
   - 차수 : 한 노드가 가지고 있는 자식 노드의 개수

 ⓒ 응용분야 : 현실 세계의 설계/모델링, 인공지능, 검색

------------------------------------------------------------------------------------------------------

이렇게 주구장창 말로 설명만 하고, 이제부터는 예를 들어보자!!
 

(부족한실력이지만... 잘보이는군요 ㅋ)
루트 노드 : ①
내부 노드 / 단말 노드 : 그림에 나타나 있죠?
⑤의 선조 노드 : ①, ② 
②의 후손 노드 : ⑤, ⑥, ⑨
③의 형제 노드 : ②, ④
④의 높이 : 2  // ②의 높이 : 3
①의 차수 : 3