반응형
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 |