반응형
큐?
First In First Out 개념을 가지고 있는 선형 자료구조이다.
먼저 들어간 자료가 먼저 나오는 방식이다.
자료를 넣는 것을 EnQueue, 빼는 것을 DeQueue라고 한다.
JavaScript에서 사용하기
class Queue {
constructor() {
this.queue = [];
this.front = 0;
this.rear = 0;
}
enqueue(value) {
this.queue[this.rear++] = value;
}
dequeue() {
const value = this.queue[this.front];
delete this.queue[this.front];
this.front += 1;
return value;
}
peek() {
return this.queue[this.front];
}
size() {
return this.rear - this.front;
}
}
주의 사항
JavaScript에서 Queue를 구현할 때 배열의 shift를 사용해서 구현하는 경우가 있을 것이다.
이 경우는 배열의 길이가 짧다면 어느정도 자바스크립트 자체가 최적화를 시켜주지만
최악의 경우 O(n)의 시간 복잡도를 가지게 된다.
반응형
'알고리즘 > 풀이 힌트' 카테고리의 다른 글
[알고리즘] 그래프 - JavaScript (0) | 2022.08.12 |
---|---|
[알고리즘] 해시 테이블 - JavaScript (1) | 2022.08.09 |
[알고리즘] Stack - JavaScript (1) | 2022.08.05 |
[알고리즘] 기준이 되는 배열로 만들 수 있는 모든 배열을 만들기 (1) | 2022.08.01 |
[알고리즘] 이진 탐색 - JavaScript (1) | 2022.07.29 |