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