반응형
지난시간 Stack 에대해 알아보았는데 Stack 은 LIFO 였으나, Queue는 FIFO 다.
FIFO
First in First Out 의 약자로, 들어온 순서대로 나간다고할 수 있다.
이 때 우리가 흔히 커피를 주문하거나 맛집에 대기를할 때 Queue 와 비슷한 원리라고할 수 있다.
이 부분을 유의하며 오늘 공부를 잘 해보자.
Queue
우선, Queue의 기본 원리는 알았으니 이미지를 보며 어떤 기능을 구현해야 하는지 보자.
이 이미지를 보면 그나마 좀 편히 알 수 있을것 같다.
숫자는 들어온 순서를 의미하며,
Enqueue 는 큐에 추가를 하는것이고, Dequeue 는 들어온 순서대로 빼주는 기능이다.
rear는 배열의 시작부분, front 는 배열의 끝부분이다.
간단히 보면 rear ~ front 부분을 출력해주면 되는것이다.
Enqueue 와 Dequeue를 계속해서 하다보면 이런 배열이 완성이 된다.
dequeue를 많이하여 rear과 front 가 같아진다면 출력을 했을 때 값이 없을것이다.
이렇게 Queue에 대해서 알아보았다.
위에 알려준대로만 보았을 때 문제가 있기 마련이다.
Q1 . 이 Queue 알고리즘은 무엇이 문제인지?
Q2 . 이 문제를 해결하기 위해 어떤것이 나왔는지?
이 두가지의 질문과 해당 기능을 구현한 코드를 함께 댓글로 남겨두면 좋을것같다.
반응형
'JavaScript > 알고리즘' 카테고리의 다른 글
[백준 2292] NodeJS / Javascript 문제풀이 (0) | 2022.01.13 |
---|---|
[백준 1712] NodeJS / Javascript 문제풀이 (0) | 2021.12.24 |
알고리즘 스터디 - Stack (0) | 2021.05.21 |