SlideShare une entreprise Scribd logo
1  sur  3
Télécharger pour lire hors ligne
Week6. Priority Queue
우선순위가 높은 순서대로 반환하는 큐
우선순위큐 != 힙
(배열과 트리 중엔 어떤 방법이 더 효율적일까?)
Insert, Remove, Not search!
OS 프로세스 우선순위 스케줄링
Week6. Heap
1. 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다.
2. 마지막 레벨에 노드가 있을 때는 항상 왼쪽부터 순서대로 채워져야 한다.
Insert - O(logN)
Remove - O(log N)
Search - O(log N)
*BST(이진탐색트리)와의 차이?
Left <= Root <= Right
연산이 더 많아진다. 트리가 치우칠 수 있다.
이진트리의 한 종류
최소힙
최대힙
우선순위, 원소를
저장하는 힙으로
“우선순위 큐”를
구현할 수 있다!
“Heap Sort”
remove연산을
n번 하면 배열이
정렬된다!
O(NlogN)
Week6. Heap
1. 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다.
2. 마지막 레벨에 노드가 있을 때는 항상 왼쪽부터 순서대로 채워져야 한다.
Insert Remove
1. 가장 마지막 자리에 삽입
2. 자신의 자리를 찾을 때까지 루트와 비교 후 swap
1. 루트 삭제 후 마지막 원소를 루트자리로 swap
2. 자신의 자리를 찾을 때까지 자식과 비교 후 swap
https://github.com/HansolJang/TIL/blob/master/03-자료구조/heap.md

Week6.priority queue & heap

  • 1. Week6. Priority Queue 우선순위가 높은 순서대로 반환하는 큐 우선순위큐 != 힙 (배열과 트리 중엔 어떤 방법이 더 효율적일까?) Insert, Remove, Not search! OS 프로세스 우선순위 스케줄링
  • 2. Week6. Heap 1. 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. 2. 마지막 레벨에 노드가 있을 때는 항상 왼쪽부터 순서대로 채워져야 한다. Insert - O(logN) Remove - O(log N) Search - O(log N) *BST(이진탐색트리)와의 차이? Left <= Root <= Right 연산이 더 많아진다. 트리가 치우칠 수 있다. 이진트리의 한 종류 최소힙 최대힙 우선순위, 원소를 저장하는 힙으로 “우선순위 큐”를 구현할 수 있다! “Heap Sort” remove연산을 n번 하면 배열이 정렬된다! O(NlogN)
  • 3. Week6. Heap 1. 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. 2. 마지막 레벨에 노드가 있을 때는 항상 왼쪽부터 순서대로 채워져야 한다. Insert Remove 1. 가장 마지막 자리에 삽입 2. 자신의 자리를 찾을 때까지 루트와 비교 후 swap 1. 루트 삭제 후 마지막 원소를 루트자리로 swap 2. 자신의 자리를 찾을 때까지 자식과 비교 후 swap https://github.com/HansolJang/TIL/blob/master/03-자료구조/heap.md