CWN(CHANGE WITH NEWS) - 자료구조 어디까지 알고 있니? #5. 트리의 종류

  • 맑음전주-1.5℃
  • 맑음성산4.3℃
  • 맑음해남0.7℃
  • 맑음보령-1.0℃
  • 구름조금진도군-0.5℃
  • 구름조금여수5.3℃
  • 맑음대전-0.7℃
  • 맑음고창군-1.3℃
  • 맑음고창-1.3℃
  • 맑음영광군-2.0℃
  • 구름조금강릉1.3℃
  • 맑음함양군4.7℃
  • 맑음이천-1.9℃
  • 맑음태백-1.3℃
  • 구름조금보성군4.1℃
  • 맑음원주-3.4℃
  • 맑음천안-3.0℃
  • 맑음서울-3.8℃
  • 맑음서산-3.9℃
  • 맑음부안-0.5℃
  • 맑음강화-6.4℃
  • 구름조금부산6.0℃
  • 맑음통영5.8℃
  • 맑음홍성-2.5℃
  • 맑음북창원4.2℃
  • 맑음창원3.7℃
  • 맑음인제-3.0℃
  • 구름많음포항4.6℃
  • 구름많음울진2.3℃
  • 맑음정읍-1.6℃
  • 맑음대관령-3.6℃
  • 맑음남원0.7℃
  • 맑음의령군3.9℃
  • 구름조금영천3.2℃
  • 맑음양산시6.2℃
  • 구름조금장흥2.0℃
  • 맑음고흥4.3℃
  • 구름조금동해0.9℃
  • 맑음봉화0.4℃
  • 맑음상주-0.2℃
  • 맑음순창군-0.6℃
  • 맑음제천-3.0℃
  • 구름조금경주시3.8℃
  • 맑음대구3.6℃
  • 맑음금산-0.9℃
  • 맑음북부산6.8℃
  • 구름조금북강릉-0.2℃
  • 맑음목포-2.1℃
  • 구름많음흑산도0.0℃
  • 맑음서청주-3.5℃
  • 맑음추풍령-1.9℃
  • 맑음춘천-1.2℃
  • 맑음동두천-5.4℃
  • 구름조금제주4.6℃
  • 맑음광양시6.0℃
  • 맑음영주-0.5℃
  • 맑음청송군1.2℃
  • 맑음문경0.2℃
  • 맑음밀양4.9℃
  • 맑음부여-0.2℃
  • 맑음구미1.7℃
  • 맑음김해시5.5℃
  • 맑음속초-1.0℃
  • 맑음거창3.6℃
  • 구름조금완도2.7℃
  • 맑음영월-1.1℃
  • 눈백령도-7.6℃
  • 맑음북춘천-3.8℃
  • 맑음산청4.5℃
  • 맑음보은-1.4℃
  • 눈울릉도-1.3℃
  • 맑음임실-1.1℃
  • 맑음철원-6.0℃
  • 구름조금광주0.0℃
  • 맑음의성2.0℃
  • 맑음양평-2.4℃
  • 맑음파주-6.2℃
  • 맑음홍천-2.1℃
  • 맑음세종-0.4℃
  • 맑음군산-0.3℃
  • 구름조금영덕3.2℃
  • 맑음진주5.6℃
  • 맑음남해5.9℃
  • 구름조금강진군1.7℃
  • 맑음정선군-1.2℃
  • 맑음장수-0.7℃
  • 맑음충주-2.2℃
  • 맑음청주-2.8℃
  • 구름조금고산3.0℃
  • 맑음수원-4.0℃
  • 맑음안동0.8℃
  • 맑음순천1.8℃
  • 맑음합천4.7℃
  • 구름조금서귀포9.5℃
  • 맑음인천-5.8℃
  • 구름조금울산4.0℃
  • 2026.01.20 (화)

자료구조 어디까지 알고 있니? #5. 트리의 종류

서지연 / 기사승인 : 2021-05-06 13:58:01
  • -
  • +
  • 인쇄

1. 이진 트리
이진 트리는 모든 노드의 자식 노드가 두 개 이하인 트리를 의미한다. 이진 트리는 서브 트리가 두 개 이하기 때문에 서브 트리는 왼쪽 서브 트리와 오른쪽 서브 트리로 구분한다.

(1) 완전 이진 트리(complete binary tree)
단말 노드를 제외한 나머지 노드가 두 개의 자식 노드를 가지고 있는 트리를 ‘완전 이진 트리’라 한다. 아래 그림의 A, B, C, D 노드는 모두 두 개의 자식 노드를 가지고 있다.

마지막 레벨을 제외하고 모든 레벨이 완전히 채워져 있으며, 마지막 레벨의 모든 노드는 가능한 한 가장 왼쪽에 있다. 마지막 레벨 h에서 1부터 2h-1개의 노드를 가질 수 있다. 또 다른 정의는 가장 오른쪽의 잎 노드가 제거된 포화 이진 트리다.

완전 이진 트리는 배열을 사용해 효율적으로 표현할 수 있다.

(2) 포화 이진 트리(perfect binary tree)
모든 노드가 채워진 이진 트리를 ‘포화 이진 트리’라고 한다.

모든 내부 노드가 두 개의 자식 노드를 가지며 모든 잎 노드가 동일한 깊이 또는 레벨을 갖는다. 각각의 사람이 한 명의 어머니와 한 명의 아버지를 갖는 것처럼, 주어진 깊이에 대한 한 사람의 가계도가 포화 이진 트리의 예가 될 수 있다.

(3) 정 이진 트리(full binary tree)
모든 노드가 0개 또는 2개의 자식 노드를 갖는 트리다.

(4) 편향 이진 트리(skewed binary tree)
노드가 한 방향으로 편향된 트리

이진 탐색 트리
이진 탐색 트리는 데이터의 삽입, 삭제, 탐색 등이 자주 발생하는 경우에 효율적인 구조로, 이진 트리이면서 같은 값을 갖는 노드가 없어야 한다.

왼쪽 서브 트리에 있는 모든 데이터는 현재 노드의 값보다 작고, 오른쪽 서브 트리에 있는 모든 노드의 데이터는 현재 노드의 값보다 크다.

이번 기사에서는 트리의 종류를 알아보았다. 다음 기사에서는 그래프에 대해 알아보자.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue