
https://www.youtube.com/watch?v=kz9L53DPaoY&list=PLFgS-xIWwNVX-zm4m6suWC9d7Ua9z7fuT&index=12
📌 스택과 큐
◾ 스택과 큐란?
- 배열에서 발전된 형태의 자료구조
- 구조는 비슷하지만 처리 방식이 다름
📌 스택
- 삽입과 삭제 연산이 후입선출(LIFO)로 이루어지는 자료구조
- 새 값이 스택에 들어가면 top이 새 값을 가리킨다.
스택에서 값을 빼낼 때 pop은 top이 가리키는 값을 스택에서 빼게 되어있음

◾ 스택 용어
- top : 삽입/삭제가 일어나는 위치
- push : top 위치에 새로운 데이터 삽입
- pop :top 위치에 현재 있는 데이터를 삭제하고 확인 (데이터를 빼냄)
- peek : top 위치에 있는 데이터를 단순 확인(데이터를 빼내지 않음)
◾ 주로 사용 하는 곳
- 우선 탐색 (DFS)
- 백트래킹 종류
- 후입선출은 재귀 함수 알고리즘 원리와 비슷하기 때문
📌 큐
- 삽입과 삭제 연산이 선입선출(FIFO)로 이루어지는 자료구조
- 삽입과 삭제가 양방향에서 이루어짐

◾ 큐 용어
- rear : 큐에서 가장 끝 데이터를 가리키는 영역
- front : 큐에서 가장 앞 데이터를 가리키는 영역
- add : rear부분에 새로운 데이터 삽입 하는 연산
- poll : front 부분에 있는 데이터를 삭제하고 확인하는 연산 (데이터를 빼냄)
- peek : 큐의 맨 앞에 있는 데이터를 확인할 때 사용 (데이터를 빼내지 않음)
◾ 주로 사용 하는 곳
◾ 우선순위 큐
- 값이 들어간 순서와 상관없이 우선순위가 높은 데이터 먼저 나오는 자료구조
- 큐 설정에 따라 front에 항상 최댓값 혹은 최소값이 위치