삽입과 삭제 연산이 후입선출(LIFO: Last-in First-out)로 이루어지는 자료구조
재귀 함수 알고리즘 원리와 일맥상통하기 때문에
깊이 우선 탐색(DFS: Depth First Search), 백트래킹 종류의 코딩 테스트에 효과적
용어 | 설명 |
---|---|
top | 삽입과 삭제가 일어나는 위치 |
push | top 위치에 새로운 데이터를 삽입 |
pop | top 위치에 있는 데이터를 반환하고 stack 에서 제거 |
peek | top 위치에 있는 현재 데이터를 반환 |
삽입과 삭제 연산이 선입선출(FIFO: First-in First-out)로 이루어지는 자료구조
삽입과 삭제가 양방향에서 이루어지며,
너비 우선 탐색(BFS: Breadth First Search)에서 자주 사용
용어 | 설명 |
---|---|
rear | queue 의 맨 뒤에 있는 데이터 |
front | queue 의 맨 앞에 있는 데이터 |
add | rear 위치에 새로운 데이터 삽입 |
poll | front 위치에 있는 데이터를 반환하고 queue 에서 제거 |
peek | front 위치에 있는 데이터를 반환 |
🔍 우선순위 큐
값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조
큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다.
일반적으로 힙(heap)을 이용해 구현한다.