ian의 개발일기장

1. 큐(Queue) 본문

Computer Science/Data Structure

1. 큐(Queue)

ian90 2018. 9. 29. 23:49

1. 개념



큐(Queue)는 기본적인 컴퓨터 자료구조이며, FIFO(First In First Out)구조로 자료를 저장하는 형식이다.  먼저 집어넣은 데이터가 먼저 나오는 형식이다. 예를 들어, 줄을 서서 먹는 식당을 생각해보자. 먼저 줄을 선사람이 음식을 다먹으면, 먼저 나간다. 큐와 비슷하다. 큐와 반대대는 개념은 스택(Stack)이다. 데이터가 나가는 방법에 차이가 있다.


데이터가 들어오는 위치는 뒤쪽에 있으며, 뒤쪽을 Rear 또는 Back, Tail 이라고 하며, 데이터가 나가는 위치는 앞쪽에 있으며, 앞쪽을 Front 또는 Head 라 한다. 데이터를 입력하는 동작을 Enqueue, 제거하는 동작을 Dequeue라고 한다. 




2. 구현




배열을 활용했다.


  • enqueue - data를 입력하는 것이므로, 그림과같은 형태를 위해서 unshift 메소드를 이용했다.
  • dequeue - data를 내보내야하기 때문에, pop 메소드를 이용했다. FIFO 때문이다.
  • front -  data가 나가는 위치를 front라 하고, Queue그림을 배열로 옮기면, 배열에선 맨끝이다.
  • back - data가 들어오는 위치를 back이라 하고, Queue그림을 배열로 옮기면, 배열에선 맨앞이다.
  • size - Queue의 자료의 개수를 return 해준다.
  • print - Queue 데이터를 보여준다.


출처 - 나무위키, 유투브, 위키피디아(영어), 위키피디아(한글)



'Computer Science > Data Structure' 카테고리의 다른 글

3. 연결리스트(linked list)  (0) 2018.10.06
2. 스택(stack)  (0) 2018.10.01