스택과 큐
스택과 큐는 배열에서 발전된 형태의 자료구조 입니다. 구조는 비슷하지만 처리 방식은 다릅니다.
스택
삽입과 삭제 연산이 후입선출(LIFO: Last-In First-Out)로 이뤄지는 자료구조 입니다. 후입선출은 삽입과 삭제가 한 쪽에서만 일어나는 특징이 있습니다.
스택 용어
- top: 삽입과 삭제가 일어나는 위치를 뜻한다
- push: top 위치에 새로운 데이터를 삽입하는 연산이다.
- pop: top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산이다.
- peek: top 위치에 현재 있는 데이터를 단순 확인하는 연산이다.
스택은 깊이 우선탐색(DFS), 백트래킹 종류의 코딩 테스트에 효과적입니다. 후입선출의 개념이 재귀 알고리즘과 결이 같기 떄문입니다.
큐
큐는 삽입과 삭제 연산이 선입선출(FIFO: First-In First-Out)로 이뤄지는 자료구조입니다. 스택과 다르게 먼저 들어온 데이터가 먼저 나갑니다.
큐 용어
- rear: 큐에서 가장 끝 데이터를 가리키는 영역입니다.
- front: 큐에서 가장 앞의 데이터를 가리키는 영역입니다.
- add: rear 부분에 새로운 데이터를 삽입하는 연산입니다.
- poll: front 부분에 있는 데이터를 삭제하고 확이낳는 연산입니다.
- peek: 큐의 맨 앞에 있는 데이터를 확인할 때 사용하는 연산입니다.