자료구조 시각화 학습

큐 (Queue) - FIFO (First In, First Out)

큐는 먼저 들어온 데이터가 먼저 나가는 선입선출 구조입니다.

Front
Rear

큐의 특징

  • FIFO (First In, First Out) 원칙
  • Front에서 삭제, Rear에서 삽입
  • 운영체제의 프로세스 스케줄링에 사용
연산시간복잡도
EnqueueO(1)
DequeueO(1)
PeekO(1)

스택 (Stack) - LIFO (Last In, First Out)

스택은 나중에 들어온 데이터가 먼저 나가는 후입선출 구조입니다.

스택의 특징

  • LIFO (Last In, First Out) 원칙
  • Top에서만 삽입과 삭제 가능
  • 함수 호출, 수식 계산에 사용
연산시간복잡도
PushO(1)
PopO(1)
TopO(1)

배열 (Array)

배열은 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조입니다.

배열의 특징

  • 인덱스를 통한 빠른 접근
  • 연속된 메모리 공간 사용
  • 크기 고정 (정적 배열)
연산시간복잡도
접근O(1)
검색O(n)
삽입O(n)
삭제O(n)

연결리스트 (Linked List)

연결리스트는 노드들이 포인터로 연결된 선형 자료구조입니다.

연결리스트의 특징

  • 동적 크기 조절 가능
  • 노드들이 포인터로 연결
  • 순차 접근만 가능
연산시간복잡도
접근O(n)
검색O(n)
삽입O(1)
삭제O(1)

트리 (Tree)

트리는 계층적 구조를 가진 비선형 자료구조입니다.

이진 검색 트리 구현 예정

트리의 특징

  • 계층적 구조
  • 루트, 부모, 자식 노드
  • 사이클이 없는 연결 그래프
연산시간복잡도 (균형)시간복잡도 (최악)
검색O(log n)O(n)
삽입O(log n)O(n)
삭제O(log n)O(n)