코딩 테스트

스택과 큐

조요피 2023. 1. 11. 21:58

스택

Stack은 삽입과 삭제 연산이 후입선출(LIFO: Last In First Out)로 이뤄지는 자료구조.

후입선출은 삽입과 삭제가 한 쪽에서만 일어나는 특징이 있다.

 

스택은 깊이 우선 탐색(DFS: Depth First Search), 백트래킹 종류의 코딩 테스트에 효과적.

후입선출은 개념 자체가 재귀 함수 알고리즘 원리와 같다.

Queue는 삽입과 삭제 연산이 선입선출(FIFO : First In First Out)로 이뤄지는 자료구조.

먼저 들어온 데이터가 먼저 나간다.

삽입과 삭제가 양방향에서 이뤄진다.

 

큐는 너비 우선 탐색(BFS : Breadth First Search)에서 자주 사용한다.

우선순위 큐

Priority Queue는 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조.

큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다.

우선순위 큐는 일반적으로 힙(Heap)을 이용해 구현하는데 힙은 트리 종류 중 하나이다.