CS 기초 · 기초
Stack과 Queue의 차이점과 각각의 사용 사례에 대해 설명해주세요.
힌트 · LIFO와 FIFO의 특성을 생각해보세요.
LIFOFIFO스택 오버플로우함수 호출BFS
모범답안
스택과 큐는 둘 다 데이터를 저장하는 자료구조이지만, 데이터 접근 방식에 차이가 있습니다. 스택은 LIFO(Last-In, First-Out) 즉, 가장 최근에 들어온 데이터가 가장 먼저 나가는 구조입니다. 반면 큐는 FIFO(First-In, First-Out) 즉, 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조입니다.
스택의 대표적인 사용 사례는 함수 호출 스택입니다. 함수가 호출될 때마다 스택에 정보가 쌓이고, 함수 실행이 끝나면 스택에서 해당 정보가 제거됩니다. 또한, 웹 브라우저의 뒤로 가기 기능도 스택으로 구현될 수 있습니다.
큐의 대표적인 사용 사례는 너비 우선 탐색(BFS)입니다. BFS는 큐를 사용하여 탐색할 노드들을 저장하고, 순서대로 방문합니다. 또한, 프린터의 작업 대기열이나 메시지 큐와 같이 순차적인 처리가 필요한 경우에도 큐가 사용됩니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.