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

  • 흐림진주19.7℃
  • 흐림문경18.4℃
  • 흐림북강릉23.6℃
  • 비여수20.4℃
  • 흐림이천24.5℃
  • 구름많음서청주21.8℃
  • 흐림대전20.8℃
  • 흐림고흥21.0℃
  • 흐림봉화20.0℃
  • 비안동19.3℃
  • 흐림강진군21.5℃
  • 흐림보성군21.2℃
  • 흐림북창원21.1℃
  • 흐림경주시20.7℃
  • 흐림장수18.6℃
  • 흐림함양군19.2℃
  • 구름많음서울25.9℃
  • 흐림임실20.2℃
  • 흐림진도군21.2℃
  • 흐림목포21.2℃
  • 흐림양산시22.0℃
  • 흐림장흥21.5℃
  • 흐림울진22.9℃
  • 흐림흑산도22.8℃
  • 흐림금산20.5℃
  • 비울산20.4℃
  • 흐림상주18.7℃
  • 흐림영주19.9℃
  • 흐림강릉25.8℃
  • 구름많음강화23.3℃
  • 흐림부산23.4℃
  • 흐림태백19.2℃
  • 흐림부안21.4℃
  • 흐림영광군22.0℃
  • 흐림영덕21.1℃
  • 구름많음양평25.0℃
  • 비광주20.0℃
  • 흐림세종21.2℃
  • 비북부산22.8℃
  • 흐림남원19.2℃
  • 흐림제주24.9℃
  • 맑음백령도24.4℃
  • 구름많음울릉도23.7℃
  • 흐림원주24.5℃
  • 흐림해남21.7℃
  • 비포항21.9℃
  • 흐림완도21.4℃
  • 흐림동해24.9℃
  • 흐림김해시21.5℃
  • 흐림통영22.0℃
  • 흐림고창21.9℃
  • 구름조금춘천24.7℃
  • 비대구20.5℃
  • 흐림남해19.9℃
  • 흐림군산21.9℃
  • 비서귀포26.6℃
  • 흐림거창19.1℃
  • 흐림부여21.7℃
  • 흐림고산24.8℃
  • 구름많음수원24.9℃
  • 흐림홍성24.0℃
  • 흐림의령군19.2℃
  • 구름많음철원23.4℃
  • 흐림거제22.5℃
  • 구름많음홍천24.8℃
  • 흐림전주21.5℃
  • 비창원21.2℃
  • 흐림순창군19.9℃
  • 흐림속초23.6℃
  • 흐림청송군19.6℃
  • 구름많음보령23.2℃
  • 흐림고창군21.3℃
  • 구름많음파주24.0℃
  • 흐림산청19.1℃
  • 흐림영천20.1℃
  • 구름많음청주23.6℃
  • 구름많음인제21.4℃
  • 흐림의성20.0℃
  • 구름많음동두천24.2℃
  • 흐림순천20.1℃
  • 흐림성산25.4℃
  • 흐림밀양20.9℃
  • 흐림대관령18.7℃
  • 흐림광양시20.0℃
  • 흐림제천22.2℃
  • 흐림보은19.6℃
  • 구름많음북춘천24.5℃
  • 흐림합천20.2℃
  • 흐림충주23.3℃
  • 구름많음인천26.0℃
  • 흐림구미20.1℃
  • 흐림정선군20.8℃
  • 흐림정읍21.5℃
  • 구름많음서산24.7℃
  • 흐림추풍령18.2℃
  • 흐림천안22.6℃
  • 흐림영월23.1℃
  • 2025.09.09 (화)

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