우선 순위가 높은 데이터가 먼저 나가는 자료구조. : 우선 순위를 가진 항목들을 저장하는 큐
우선순위 큐 활용 분야 :
1. 시뮬레이션 시스템
2. 네트워크 트래픽 제어
3. OS 작업 스케줄링
출처 : https://hannom.tistory.com/36
우선순위 큐의 구현 방법 3가지
1. 배열
2. 연결리스트
3. 힙(Heap)
배열 / 연결리스트를 이용해서 구현 시 장점 : 간단하게 구현 가능
단점 :
1. 데이터 삽입 및 삭제 시 데이터를 한 칸씩 당기거나 밀어야 하는 연산을 계속 하여야 한다.
2. 삽입의 위치를 찾기 위해 배열에 저장된 모든 데이터와 우선순위를 비교해야 한다.
(이 경우 우선순위가 가장 낮은 데이터를 저장할 때 최악의 경우가 발생)
이러한 단점들 때문에 우선순위 큐는 힙(Heap)을 이용해서 구현하는 것이 일반적.
힙을 배열 기반으로 구현 시 :
왼쪽 자식 노드의 인덱스 값 | 부모 노드의 인덱스 값 * 2 |
오른쪽 자식 노드의 인덱스 값 | (부모 노드의 인덱스 값 * 2) + 1 |
부모 노드의 인덱스 값 | 자식 노드의 인덱스 값 / 2 |
구현 : https://robodream.tistory.com/183
'삼성전자 알고리즘 > 자료구조 알고리즘' 카테고리의 다른 글
7. 이진 탐색 [Binary Search] (0) | 2019.05.14 |
---|---|
6. 힙(Heap) (0) | 2019.05.14 |
4. 순열, 조합 (0) | 2019.05.12 |
3. 재귀함수를 비재귀함수로 변환 (0) | 2019.05.06 |
2. 링크드 리스트 [Linked List] (0) | 2019.04.14 |