공통점
차이점
스택
- 스택은 삽입과 삭제 연산이 후입선출(LIFO)로 이루어지는 자료구조
- 스택은 깊이 우선 탐색(DFS), 백트래킹 종류의 코딩 테스트에 효과적
- 후입선출 개념은 재귀 함수 알고리즘의 원리와 일맥상통
- 연산
- top: 삽입과 삭제가 일어나는 위치
- push: 새로운 데이터를 삽입
- pop: top 위치의 현재 있는 데이터를 삭제하고 확인
- peek: top 위치의 현재 있는 데이터를 단순 확인만
큐
- 큐는 삽입과 삭제 연산이 선입선출(FIFO)로 이루어지는 자료구조
- 삽입, 삭제가 양방향에서 이루어짐
- 큐는 너비 우선 탐색(BFS) 종류의 알고리즘에서 자주 사용
- 연산
- rear: 큐에서 가장 끝 데이터 위치
- front: 큐에서 가장 앞 데이터 위치
- add: rear 부분에 새로운 데이터 삽입
- poll: front 부분에 있는 데이터를 삭제하고 확인
- peek: 큐의 맨 앞(front)에 있는 데이터를 확인할 때 사용
*우선순위 큐
- 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조
- 큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다
- 우선순위 큐는 일반적으로 힙 자료구조를 이용해 구현한다
What I learned?
1. 스택 - 이전 페이지로 이동과 같은 역순 처리 용이
-> 웹 브라우저의 이전 페이지 이동과 같이 바로 최근에 접근했던 페이지로 이동할 때 스택 자료구조를 사용할 수 있다.
2. 큐 - 순차 처리 용이
-> 큐 자료구조의 경우 입력된 순서대로 작업을 처리하기가 용이하기 때문에 순차 처리가 요구되는 상황에서 큐 자료구조를 사용할 수 있다.