Stack(스택)
- 후입선출
- 용어
- Top: 삽입과 삭제가 일어나는 위치
- push: top 위치에 새로운 데이터를 삽입
- pop: top 위치에 새로운 데이터를 삭제하고 확인
- peek: top 위치에 현재 있는 데이터를 단순 확인
- 우선 탐색(DFS), 백트래킹 종류에서 효과적
- new Stack<>()은 자바 초창기에 나온 Vector 기반이라 멀티 코어 성능에서 좋지 않다.
- Deque를 사용하는 것을 추천
- Thread-safe가 필요한 경우 concurrentLinkedDeque 사용
큐
- 선입선출
- 삽입 삭제가 양방향
- 용어
- rear: 큐에서 가장 끝 데이터를 가리키는 영역(가장 최근에 들어온 데이터)
- front: 큐에서 가장 앞의 데이터를 가리키는 영역
- add: rear 부분에 새로운 데이터를 삽입
- poll: front 부분에 데이터를 삭제하고 확인
- peek: front에 있는 데이터를 단순 확인
- 너비 우선 탐색에서 자주 사용