알고리즘
js 큐
KairoYang
2020. 5. 28. 23:53
Queue는 자료의 한 쪽 끝에서 자료가 삽입되고, 반대쪽에서 삭제된다.
자료의 추가는 Enqueue, 삭제는 Dequeue 라고한다.
First-In First Out:먼저 들어간 요소가 가장 먼저 빠져나온다. (ex:은행줄)
Big O: 자료가 삽입 될 때는 자료의 맨뒤에 자료가 삽입되는 연산만 수행되므로 O(1).
자료의 삭제 또한 맨 앞의 자료가 삭제되는 동일한 연산이 수행되므로 O(1).
검색 할 때는 맨 앞의 요소부터 맨 마지막요소까지 차례대로 검색해야 하기 때문에 시간 복잡도는 O(n)이다.
100개의 자료가 존재하여 30번째 요소를 찾는다고하면 검색하는데 시간 복잡도는 O(n)만큼 소요되고, 해당 요소를 삭제하는데는 O(1)이 소요된다.
Callback queue: setTimeout, Ajax,돔 이벤트 함수들을 실행하면 브라우저는 web apis로 보낸 후 요청한 시간이 되었을때 ,이벤트가 trigger 되었을때, callback queue에 순차적으로 동작을 적재하고 맨앞에 있는 콜백부터 호출 스택으로 보내진다.