IT/Algorithm

Queue에 대해서

프티 2021. 10. 13. 15:37
반응형

Stack은 queue 없이 이야기할 수 없다.

 

큐는 First-In First-Out을 따른다.

큐는 대기열이며, 사람들이 줄을 서는 것과 비슷하다.

스택처럼 큐도 마찬가지로 대기열에서 빼낼 다음 요소가 무엇인지 엿볼 수 있다.

 

큐는 프린터기처럼 요청한 작업을 순서대로 처리한다.

 

하지만 Priority queues라는 것도 존재한다.

우선 순위우선순위 큐는 큐 안의 요소에도 우선순위를 할당한다.

따라서 우선 순위가 높은 항목이 먼저 큐에서 제거된다.

이것은 네트워킹에 유용하다. 일부 패킷은 다른 패킷보다 더 중요하기 때문이다.

비디오를  스트리밍하는 경우 나중에 패킷을 받으면 일부 프레임을 건너뛸 가능성이 높기 때문에 우선순위가 높다.

반면 Dropbox에 동기화하면 동기화를 계속하기 위해 네트워크 트래픽이 잠잠해질 때까지 기다릴 수 있다.

 

큐를 간단하게 코드로 나타내면 다음과 같다.

class Queue {
  constructor() {
    this._arr = [];
  }
  enqueue(item) {
    this._arr.push(item);
  }
  dequeue() {
    return this._arr.shift();
  }
}

const queue = new Queue();

queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.dequeue(); // 1

 

 

반응형

'IT > Algorithm' 카테고리의 다른 글

프로그래머스) 예산  (0) 2021.10.14
Bubble Sort, Insertion Sort 구현해보기  (0) 2021.10.14
Stack 스택이란?  (0) 2021.10.13
프로그래머스) 복서 정렬하기  (0) 2021.10.13
프로그래머스) 상호 평가  (0) 2021.10.08