스택, 큐는 일종의 규칙이다. 이 두 개는 추상적 데이터 구조라고 부른다.
추상적 데이터 구조는 자료 구조의 하나의 형태이다. 코드로 정의된 것이 아니라 그렇게 부른다.
먼저 스택에 대해서 알아볼까?
우리가 샌드위치를 만들었다고 가정해 보자.
접시에 차곡차곡 쌓을 때 가장 최근에 만든 샌드위치가 맨 위에 있겠지,
반대로 가장 처음에 만든 샌드위치는 바닥에 깔려 있어.
그럼 우리가 샌드위치를 먹을 때 가장 마지막에 만든 샌드위치를 가장 먼저 먹겠지.
우리는 이를 Last In, First Out (LIFO)이라고 해.
큐는 말 그대로 줄을 선다고 생각하면 돼.
가장 먼저 온 사람이 첫 줄에 서겠지.
간단한 예시를 들면, 콘서트 티켓팅이 바로 큐 규칙을 사용해.
예매 버튼을 빨리 누른 사람이 티켓팅에 성공하지!
우리는 이를 First In, First Out (FIFO)이라고 해.
그럼 정리해 보면,
스택은 샌드위치를 쌓는 것 같아.
→ 위에서만 요소를 읽거나 삭제할 수 있어.
큐는 줄을 서는 것 같아.
→ 새로운 요소는 큐 맨 뒤에 추가되고,
→ 큐의 맨 앞 요소만 읽거나 삭제될 수 있어.
스택과 큐는 추상적 데이터 구조라, 규칙들만 이해하면 돼.
언제 큐를 쓰고 언제 스택을 쓰는지 질문한다면,
웹 서핑을 한다고 생각해 봐.
뒤로 가기를 누르면 바로 앞 페이지로 넘어가지.
→ 이거는 스택의 개념이야.
큐는
→ 이메일 전송
→ 쇼핑몰 주문
→ 콜센터 전화
같은 경우에 사용돼.