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

  • 흐림인제21.2℃
  • 흐림부여24.2℃
  • 흐림영광군25.2℃
  • 흐림추풍령21.6℃
  • 흐림청송군24.1℃
  • 흐림순창군25.2℃
  • 구름많음의성24.8℃
  • 흐림서청주23.4℃
  • 흐림김해시27.9℃
  • 구름많음서울25.1℃
  • 구름많음북부산27.8℃
  • 구름많음백령도24.8℃
  • 구름많음강화25.0℃
  • 흐림경주시24.9℃
  • 구름많음성산30.7℃
  • 구름많음파주25.1℃
  • 흐림정읍26.3℃
  • 흐림영덕23.9℃
  • 구름많음진도군28.1℃
  • 흐림임실25.5℃
  • 흐림포항24.8℃
  • 흐림봉화25.1℃
  • 흐림목포26.1℃
  • 흐림고창군26.4℃
  • 구름많음고산29.3℃
  • 흐림영천25.6℃
  • 흐림강릉25.0℃
  • 흐림문경22.8℃
  • 흐림울릉도24.4℃
  • 흐림보령25.5℃
  • 흐림원주22.8℃
  • 흐림대구25.6℃
  • 흐림의령군24.9℃
  • 구름조금제주28.4℃
  • 흐림금산24.1℃
  • 흐림동해25.5℃
  • 흐림홍천21.1℃
  • 흐림대전24.9℃
  • 흐림천안23.6℃
  • 구름많음고흥28.4℃
  • 구름많음양산시28.0℃
  • 흐림거제26.1℃
  • 흐림영주25.1℃
  • 흐림합천24.8℃
  • 흐림철원23.8℃
  • 흐림태백21.1℃
  • 흐림장수23.5℃
  • 흐림구미24.0℃
  • 구름많음서귀포30.0℃
  • 흐림전주27.1℃
  • 흐림영월24.1℃
  • 흐림양평23.1℃
  • 흐림강진군26.3℃
  • 흐림서산24.0℃
  • 흐림대관령19.1℃
  • 흐림흑산도24.7℃
  • 흐림정선군21.8℃
  • 흐림진주24.8℃
  • 흐림북강릉24.4℃
  • 흐림남해24.1℃
  • 흐림남원24.8℃
  • 흐림울산24.6℃
  • 흐림장흥27.2℃
  • 흐림부안23.8℃
  • 구름많음북창원26.5℃
  • 흐림제천22.7℃
  • 흐림광주25.8℃
  • 흐림통영26.3℃
  • 흐림청주24.8℃
  • 구름많음속초25.2℃
  • 구름많음창원26.3℃
  • 흐림해남26.7℃
  • 흐림군산23.8℃
  • 구름많음동두천26.1℃
  • 흐림울진24.0℃
  • 흐림산청23.2℃
  • 흐림광양시25.1℃
  • 흐림순천24.5℃
  • 구름많음인천25.1℃
  • 흐림홍성23.9℃
  • 흐림충주24.2℃
  • 흐림상주22.6℃
  • 구름많음여수24.1℃
  • 흐림이천22.9℃
  • 흐림안동24.2℃
  • 흐림함양군23.6℃
  • 흐림거창24.1℃
  • 흐림세종24.8℃
  • 흐림춘천22.3℃
  • 흐림부산28.2℃
  • 흐림보성군26.5℃
  • 흐림완도27.6℃
  • 흐림보은23.6℃
  • 흐림수원24.6℃
  • 흐림고창25.7℃
  • 흐림북춘천22.6℃
  • 구름많음밀양27.2℃
  • 2025.09.12 (금)

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