본문 바로가기
ETC/Study

[자료구조] 큐(Queue)

by Skills 2022. 6. 3.
728x90

큐(Queue)

https://luv-n-interest.tistory.com/161

큐(Queue : 대기줄)는 사람들이 놀이기구를 타기 위해서 기다리는 줄과 같이 양 방향에서 입력과 출력이 진행되는 자료구조를 뜻한다.

 

먼저 줄을 선 사람이 먼저 놀이기구를 탈 수 있는 것처럼 선입선출(First-In First-Out, FIFO) 구조로 가장 먼저 들어온 데이터가 가장 먼저 리턴, 출력된다는 뜻이다.

 

큐의 연산

  • Enqueue : 큐에 데이터를 넣는 연산
  • Dequeue : 큐에서 데이터를 꺼내는 연산
  • front : 큐의 맨 앞
  • rear : 큐의 맨 뒤

 

큐 VS 스택

큐는 앞에서 포스팅한 스택과 함께 언급되고 비교되는 자료구조이다.

스택마지막에 들어간 데이터가 가장 먼저 나오는(LIFO) 구조인 반면 먼저 들어간 데이터가 먼저 나오는(FIFO) 구조이다. 이것이 스택과 큐의 유일한 차이점이다.

 

큐는 언제 사용될까?

📞 콜센터의 상담사

전화 온 순서대로 상담을 처리하는 콜센터의 백엔드도 큐의 일종이다.

 

💸 쇼핑몰에서 주문을 처리하는 방식

우리가 주문을 하면 쇼핑몰에서 주문이 온 순서대로 처리하는 방식도 큐의 일종이다.

 

실습

큐 역시 스택과 마찬가지로 배열 기반, 연결 리스트 기반으로 구현할 수 있기에 따로 포스팅을 해두었다!

큐(Queue) 실습(feat. 배열)

큐(Queue) 실습(feat. 연결 리스트)

 

References

📺 https://www.youtube.com/watch?v=Nk_dGScimz8

📄 https://monsieursongsong.tistory.com/5

📄 https://code-lab1.tistory.com/6

728x90

댓글