SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de HansolJang5

Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificateHansolJang5
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauthHansolJang5
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층HansolJang5
 

Mais de HansolJang5 (7)

Week10 vpn
Week10 vpnWeek10 vpn
Week10 vpn
 
Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificate
 
Week8 code
Week8 codeWeek8 code
Week8 code
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauth
 
Week3.network
Week3.networkWeek3.network
Week3.network
 
Week2.network
Week2.networkWeek2.network
Week2.network
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층
 

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