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

  • 흐림충주25.8℃
  • 구름많음통영29.1℃
  • 흐림울산29.0℃
  • 구름많음부여27.8℃
  • 구름많음양산시31.4℃
  • 구름많음경주시29.8℃
  • 구름많음광양시29.0℃
  • 구름많음보은28.1℃
  • 구름많음보성군31.3℃
  • 구름많음상주29.4℃
  • 흐림강진군30.7℃
  • 구름많음동두천24.4℃
  • 구름많음천안25.0℃
  • 흐림함양군30.1℃
  • 흐림청송군26.9℃
  • 흐림장수26.0℃
  • 흐림동해20.8℃
  • 구름많음수원25.0℃
  • 구름많음산청29.2℃
  • 구름많음창원30.1℃
  • 흐림강화25.6℃
  • 구름많음군산25.9℃
  • 구름많음흑산도27.8℃
  • 흐림이천25.5℃
  • 흐림태백18.3℃
  • 구름많음홍성27.1℃
  • 구름많음고창군27.4℃
  • 구름많음울릉도26.2℃
  • 구름많음금산29.1℃
  • 흐림원주24.2℃
  • 구름많음서산25.5℃
  • 구름많음고흥28.4℃
  • 구름많음영주26.7℃
  • 흐림철원23.7℃
  • 구름많음고창27.1℃
  • 흐림강릉21.1℃
  • 구름많음영천29.1℃
  • 구름많음순천27.4℃
  • 흐림홍천24.6℃
  • 구름많음부산29.1℃
  • 구름많음목포28.0℃
  • 구름많음문경29.2℃
  • 구름많음의령군29.8℃
  • 구름많음완도28.7℃
  • 구름조금세종27.1℃
  • 구름많음대전29.6℃
  • 구름많음장흥30.3℃
  • 흐림대구30.1℃
  • 흐림북춘천25.3℃
  • 흐림해남28.8℃
  • 흐림임실27.3℃
  • 흐림정읍27.2℃
  • 구름많음보령27.1℃
  • 구름많음부안26.2℃
  • 구름많음고산28.5℃
  • 흐림구미27.7℃
  • 흐림영월22.1℃
  • 구름많음양평25.7℃
  • 비북강릉20.1℃
  • 흐림영덕21.0℃
  • 비포항24.3℃
  • 구름많음추풍령27.6℃
  • 구름많음진도군28.6℃
  • 흐림영광군26.8℃
  • 구름많음거창29.4℃
  • 흐림인천24.6℃
  • 흐림서울26.5℃
  • 흐림전주26.6℃
  • 흐림북부산30.7℃
  • 흐림정선군22.2℃
  • 구름많음진주29.2℃
  • 구름많음파주25.3℃
  • 구름많음제주29.4℃
  • 구름많음남원27.5℃
  • 구름조금광주27.5℃
  • 흐림인제22.1℃
  • 비서귀포27.1℃
  • 구름많음밀양28.9℃
  • 구름많음거제27.6℃
  • 구름많음김해시28.7℃
  • 구름조금청주27.9℃
  • 구름많음서청주26.5℃
  • 구름많음춘천25.3℃
  • 흐림의성26.4℃
  • 흐림봉화21.1℃
  • 흐림순창군28.0℃
  • 흐림성산26.9℃
  • 흐림제천20.8℃
  • 비여수26.8℃
  • 흐림울진22.6℃
  • 흐림속초21.0℃
  • 구름많음남해29.0℃
  • 구름많음북창원30.0℃
  • 구름많음합천28.5℃
  • 맑음백령도23.8℃
  • 흐림안동27.8℃
  • 흐림대관령17.2℃
  • 2025.09.13 (토)

자료구조 어디까지 알고 있니? #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