Queue
[Data Structure] Priority Queue (우선순위 큐)
[Data Structure] Priority Queue (우선순위 큐)
2021.06.24Priority Queue (우선순위 큐) 이전에 큐에 대해서 배운 적이 있다. 이렇게 일반적인 큐를 FIFO Queue라고 한다. FIFO원리를 갖고 있는 큐이기 때문이다. 이번 시간에는 다른 성질을 갖는 우선순위 큐에 대해서 이야기해보겠다. 우선순위 큐는 이름에 특징이 잘 나와있는데, 큐의 pop 연산수행을 진행할 때, 프로그래머가 정해놓은 우선순위에 맞춰서 제거 연산을 진행한다. 일반적으로는 우선순위 기준은 2가지인데, 크기가 큰 값을 우선순위로 두는 Max-Priority-Queue 크키가 작은 값을 우선순위로 두는 Min-Priority-Queue 가 있다. 우선순위 큐와 큐는 잘 알아둘 필요가 있는 이유가 있다. 이전 글에서 트리의 탐색 방식은 향후 그래프 탐색방법인 DFS와 일맥상통한다고 했..
[Data Structure] Queue(큐)
[Data Structure] Queue(큐)
2021.03.03Queue (큐) 큐 개념 큐의 삽입과 삭제의 원리는 First-In First-Out(FIFO, 선입선출)로 작동한다. 가장 먼저 들어온 데이터가 가장 먼저 나가게된다. 큐의 실제 활용 예시는 다음과 같다. 대기열 공유자원의 접근권한, 순서 멀티 프로그래밍 과정 Queue ADT 큐의 추상자료형은 다음과 같다. enqueue(object) : 데이터를 큐의 제일 마지막에 삽입한다. dequeue() : 큐의 가장 앞에 있는 데이터를 제거한다. object front() : 큐의 가장 앞에 있는 데이터를 반환해준다. integer size() : 큐에 저장된 원소들의 개수를 반환해준다. boolean empty() : 큐가 비어있는 지를 확인해준다. Queue implementation (큐 구현) 큐의..