본문 바로가기

Programming/JavaScript tips

Queue Data Structure(큐 자료구조)

1. 큐(Queue) 란?

먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 구조 형식

 

장점:

  • 우선순위가 필요한 데이터를 처리할 때 유용

단점:

  • 크기가 제한적이다.
  • 큐의 앞이 비어있어도 데이터를 추가 할 수 없다.

 

 

2. 큐의 활용

  • 캐시(Cache) 구현
  • 선입선출이 필요한 대기열(인쇄 대기열, 티켓 카운터 등)
  • 콜센터 고객 대기시간
  • 프로세스 관리 등

 

3. 구현을 위한 의사코드(Pseudo Code)

1. 데이터를 담을 수 있는 객체 생성
2. 데이터의 추가/삭제 등 큐구조에 맞는 메소드함수를 만든다.
    2-1. enqueue(data) : 새로운 데이터를 순서에 따라 다음 키값으로 지정해 추가한다.
    2-2. dequeue() : 큐의 첫번째 키값을 가진 데이터를 제거한다.
    2-3. first() : 가장 첫번째에 있는 데이터를 가져온다.
    2-4. last() : 가장 마지막에 있는 데이터를 가져온다.
    2-5. isEmpty() : 큐가 비어 있는지 확인한다.
    2-6. clear() : 큐내 모든 데이터를 삭제한다.
    2-7. length() : 큐내 모든 데이터의 수를 가져온다.

 

 

4. 참고자료(References)

https://gmlwjd9405.github.io/2018/08/02/data-structure-queue.html
https://blog.naver.com/PostView.nhn?blogId=javaking75&logNo=220226682161&parentCategoryNo=&categoryNo=71&viewDate=&isShowPopularPosts=false&from=postView