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

  • 맑음충주-4.4℃
  • 맑음인천-7.7℃
  • 구름조금세종-3.4℃
  • 구름조금광양시5.7℃
  • 맑음철원-8.2℃
  • 구름조금목포-2.0℃
  • 구름조금전주-2.6℃
  • 맑음대관령-4.4℃
  • 구름많음순창군-1.4℃
  • 구름많음밀양3.1℃
  • 맑음보령-2.2℃
  • 맑음고흥4.3℃
  • 구름조금추풍령-3.9℃
  • 맑음상주-1.7℃
  • 흐림흑산도-0.5℃
  • 맑음보은-2.8℃
  • 맑음이천-3.8℃
  • 구름많음정읍-2.9℃
  • 구름조금함양군2.9℃
  • 구름조금제주4.1℃
  • 맑음인제-4.6℃
  • 구름많음고창군-3.3℃
  • 맑음거제2.7℃
  • 맑음강화-7.0℃
  • 구름많음진주4.9℃
  • 구름조금북강릉0.2℃
  • 구름조금동해1.2℃
  • 구름조금보성군3.6℃
  • 구름많음울산2.5℃
  • 흐림포항4.1℃
  • 구름많음울진3.0℃
  • 구름많음안동-1.7℃
  • 구름조금강릉0.6℃
  • 구름많음강진군0.3℃
  • 구름조금청주-3.8℃
  • 구름많음장수-2.2℃
  • 구름조금합천3.2℃
  • 구름많음창원1.9℃
  • 맑음서산-4.3℃
  • 구름조금김해시3.5℃
  • 맑음홍천-3.6℃
  • 맑음홍성-3.1℃
  • 구름많음의령군2.5℃
  • 구름많음의성-0.1℃
  • 구름조금북창원2.7℃
  • 구름많음경주시2.3℃
  • 구름많음남원-0.5℃
  • 맑음춘천-3.7℃
  • 맑음제천-4.2℃
  • 구름많음거창3.1℃
  • 구름조금산청3.3℃
  • 맑음파주-8.4℃
  • 눈울릉도-1.9℃
  • 구름조금서청주-4.0℃
  • 구름많음해남0.5℃
  • 구름많음광주-0.2℃
  • 맑음여수4.4℃
  • 맑음영월-2.6℃
  • 맑음수원-5.3℃
  • 구름조금통영3.6℃
  • 구름조금군산-2.7℃
  • 구름조금태백-1.4℃
  • 구름많음청송군-0.9℃
  • 구름조금부여-2.4℃
  • 맑음문경-0.7℃
  • 맑음북춘천-6.1℃
  • 구름조금봉화-1.5℃
  • 구름많음북부산4.8℃
  • 맑음서울-5.9℃
  • 맑음동두천-7.8℃
  • 구름조금영천1.5℃
  • 구름많음구미-0.1℃
  • 구름많음부안-2.2℃
  • 눈백령도-7.7℃
  • 구름많음영덕3.1℃
  • 맑음정선군-2.0℃
  • 맑음완도2.7℃
  • 구름조금대전-2.5℃
  • 맑음남해4.4℃
  • 구름많음성산3.1℃
  • 구름많음장흥1.1℃
  • 맑음천안-4.3℃
  • 구름많음고산2.6℃
  • 구름많음대구0.9℃
  • 맑음원주-4.4℃
  • 구름많음고창-2.0℃
  • 흐림서귀포8.3℃
  • 구름조금부산4.7℃
  • 구름많음진도군-0.6℃
  • 구름조금영주-1.3℃
  • 구름많음금산-2.5℃
  • 구름많음영광군-2.4℃
  • 맑음속초-1.2℃
  • 구름많음순천0.1℃
  • 구름조금양산시4.9℃
  • 구름많음임실-1.7℃
  • 맑음양평-3.8℃
  • 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