스택과 큐

이찬혁·2023년 12월 27일

자료구조

목록 보기
3/11
post-thumbnail

공통점

  • 배열에서 발전된 형태의 자료구조

차이점

스택

  • 스택은 삽입과 삭제 연산이 후입선출(LIFO)로 이루어지는 자료구조
  • 스택은 깊이 우선 탐색(DFS), 백트래킹 종류의 코딩 테스트에 효과적
  • 후입선출 개념은 재귀 함수 알고리즘의 원리와 일맥상통
  • 연산
    • top: 삽입과 삭제가 일어나는 위치
    • push: 새로운 데이터를 삽입
    • pop: top 위치의 현재 있는 데이터를 삭제하고 확인
    • peek: top 위치의 현재 있는 데이터를 단순 확인만

  • 큐는 삽입과 삭제 연산이 선입선출(FIFO)로 이루어지는 자료구조
  • 삽입, 삭제가 양방향에서 이루어짐
  • 큐는 너비 우선 탐색(BFS) 종류의 알고리즘에서 자주 사용
  • 연산
    • rear: 큐에서 가장 끝 데이터 위치
    • front: 큐에서 가장 앞 데이터 위치
    • add: rear 부분에 새로운 데이터 삽입
    • poll: front 부분에 있는 데이터를 삭제하고 확인
    • peek: 큐의 맨 앞(front)에 있는 데이터를 확인할 때 사용

*우선순위 큐

  • 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조
  • 큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다
  • 우선순위 큐는 일반적으로 힙 자료구조를 이용해 구현한다

What I learned?

1. 스택 - 이전 페이지로 이동과 같은 역순 처리 용이
-> 웹 브라우저의 이전 페이지 이동과 같이 바로 최근에 접근했던 페이지로 이동할 때 스택 자료구조를 사용할 수 있다.

2. 큐 - 순차 처리 용이
-> 큐 자료구조의 경우 입력된 순서대로 작업을 처리하기가 용이하기 때문에 순차 처리가 요구되는 상황에서 큐 자료구조를 사용할 수 있다.

profile
나의 개발로그

0개의 댓글