본문 바로가기

프로그래밍/기본기ㆍ자료구조

Priority Queue (우선순위 큐)

728x90
반응형

 

개념

- 큐의 스케줄링 방법 중 하나

- 각 원소들이 우선순위를 가지고 높은 우선순위를 가진 원소가 낮은 우선순위를 가진 원소보다 먼저 처리

- 원소가 같은 우선순위를 가지고 있다면 큐에 의해 먼저 삽입된 순서대로 처리되는 자료구조

- 배열, 리스트, 힙트리를 이용해서 구현할 수 있음

*배열, 리스트, 힙트리로 구현 시

- 배열로 구현할 경우 데이터 삽입 및 삭제 과정에서 비효율적

- 리스트로 구현할 경우 첫번째 노드와 마지막 노드까지 저장된 데이터와 우선순위 비교를 해야함

- 배열과 리스트는 정렬을 위해 요소 하나를 추가할 떄마다 이분검색 등을 이용해서 삽입될 위치를 찾아야함

- 힙트리의 구조를 이용하면 효과적으로 구현할 수 있음

(힙트리는 최소,최대값 기준으로 정렬되고 모든 내부 노드는 자신의 부모노드와의 관계만 신경쓰고 다른 노드들은 신경쓰지 않아도 됨)

(힙트리가 왜 효과적인지 알려면 트리 구조에 대해서 먼저 알아야 한다.)

*사용하는 이유

데이터 처리를 하는데 우선순위에 따라 처리가 되어야할 경우가 있다.

예를들어 디펜스 게임을 하는데 타워가 공격할 적을 판단할 때 일정 범위 안으로 들어온 적을 먼저 공격하도록 하는 구현을 한다고 하면 우선순위에 따라 구현할 수 있다.

AStar 길찾기 알고리즘에서도 우선순위 큐를 사용한다.

그 밖에 우선순위 큐를 이용하는것들이 있다는데 조금 더 알아보고 정리를 하도록 하겠다..

참고자료

 

5. 우선순위 큐와 힙(Prior Queue & Heap)

우선순위 큐는 추상자료형의 하나로 일반적인 큐와는 다른 특징을 가진다. 큐는 단순히 먼저 들어간 데이터...

blog.naver.com

 

힙정렬과 우선순위큐

힙 개념힙은 데이터에서 최대값 (혹은 최소값)을 빠르게 찾아내도록 만들어진 자료구조 이다. 힙은 완전이...

blog.naver.com

 

[정렬] 힙 정렬 (우선순위 큐)

원리완전 이진 트리의 일종으로, 우선순위 큐를 위해 만들어진 자료구조다.최대값 또는 최소값을 쉽게 추출...

blog.naver.com

 

우선 순위 큐(Priority Queue, Heap)

우선 순위 큐(Priority Queue)는 우선순위를 가진 데이터를 가진 데이터 구조입니다.큐(Queue)와는 다르...

blog.naver.com

 

[자료구조] 우선순위 큐(Priority Queue) : BASIC

※해당 포스트는 대딩이 공부하기 위한 포스트입니다. 잘못된 정보 있으면 수정 요청 부탁드립니다.​1. 우...

blog.naver.com

 

NoonGam's IT 블로그

네트워크, 프로그래밍, IT 관련 배우고자 하는 블로그입니다.

wodonggun.github.io

 

07_어뎁터 컨테이너(스택, 큐, 우선순위 큐)

안녕하세요!! 라마입니다!! 이번에는 스택과 큐에 대해서 알아볼건데요!! 먼저 스택에 대해서 알아볼게요!!...

blog.naver.com

 

 

 

다람쥐와 포동포동이

 

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

Tree (트리)  (0) 2020.04.15
DeQueue (데큐,데크)  (2) 2020.04.14
Heap (힙 메모리)  (1) 2020.04.14
stack (스택 메모리)  (0) 2020.04.14
Generic (제네릭)  (3) 2020.04.12