그래프(Graph) vs 트리(Tree)의 개념, 차이

@developer/takealittle.time·2024년 9월 23일
0

Jungle

목록 보기
7/21


00. 트리와 그래프

  • 알고리즘 문제를 풀다보니 문제 조건에서 그래프와 트리를 혼용 해 사용하는 경우가 많다고 느꼈다.
    이에 정리가 한 번 필요하다고 느껴서 글을 작성하기로 했다.
  • 기본적으로 트리(Tree)는 그래프(Graph)에 속하는 하위 개념이다.
  • 트리와 그래프의 차이점을 아래에서 차근차근 살펴보자.

01. 그래프 (Graph)

  • 노드(하나의 점)과 노드를 연결하는 간선으로 구성된 자료구조.

02. 트리 (Tree)

  • 두 개의 노드 사이에 반드시 1개의 경로만을 가지며, 사이클이 존재하지 않는 방향 그래프

  • 계층형 모델: 부모-자식 관계 성립, 레벨 존재 (최상위 노드 = Root)

  • 노드 N개 → 간선은 N-1개
    각 레벨 k에 존재하는 노드는 2^k개 (완전 이진 트리의 경우 가정)

  • 방향성 존재, 사이클은 존재 X (비순환)

  • 전위순회, 중위순회, 후위순회 3가지 순회가 존재.


03. 그래프 (Graph) ↔ 트리 (Tree) 비교

구 분그래프 (Graph)트리 (Tree)
방향성방향 / 무방향방향만
사이클순환 / 비순환 /자기순환비순환만
루트노드루트 개념 없음한 개의 루트 존재
부모-자식 관계
(계층구조)
부모-자식 관계 없음1개의 부모 노드 (루트 제외)
모델네트워크 모델계층 모델
간선 수자유N-1개

참고 자료 / 이미지 출처 ::

profile
능동적으로 사고하고, 성장하기 위한. 🌱

0개의 댓글

관련 채용 정보