반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- python
- 백준
- BOJ
- 2022년 정보처리기사 실기 가답안
- 그리디
- 정보처리기사 실기
- 자료구조
- 백준 N-Queens
- 2022년 정보처리기사 실기 1회 가답안
- dfs
- 알고리즘
- 자바
- 정보처리기사 실기 시험
- 백준 토마토 파이썬
- 코딩테스트
- 2022년 정보처리기사 실기
- 백준 그래프 이론 파이썬
- BFS
- 정보처리기사
- 파이썬
- 백준 백트랙킹 파이썬
- 백준 그래프 탐색 파이썬
- 프로그래머스
- 코딩
- 프로그래머스 파이썬
- 코드
- 토마토
- 프로그래밍
- it
- 백준 백트랙킹
Archives
- Today
- Total
코딩,안되면 될때까지
우선순위 큐( heapq) 본문
728x90
반응형
heapq
: heapq.heappush() : 힙에 원소를 삽입
heapq.heappop() : 힙에서 원소를 추출
우선순위 큐를 구현하고자 할때 사용
(우선순위 큐 : 들어온 순서에 상관없이 원소에 우선순위를 부여해 그 우선순위가 높은 순서대로 원소를 추출하는 큐)
-파이썬-
import heapq
def heapsort(iterable):
h=[]
result = []
#모든 원소를 차례대로 힙에 삽입
for value in iterable:
heapq.heappush(h,value) #최대힙 구현->-value
#힙에 삽입된 모든 원소를 차례대로 꺼내어 담기
for i in range(len(h)):
result.append(heapq.heappop(h)) #최대힙->-heapq.heappop(h)
return result
result = heapsort([1,3,5,7,9,2,4,6,8,0])
print(result)
결과 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-자바-
package 백준_java;
import java.util.PriorityQueue;
import java.util.Arrays;
public class priorityQueue {
public static void main(String[] args){
PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
queue.add(1);
queue.add(3);
queue.add(5);
queue.add(7);
queue.add(9);
queue.add(2);
queue.add(4);
queue.add(6);
queue.add(8);
queue.add(0);
int [] heapq = new int[queue.size()];
for(int i=0;i<heapq.length;i++){
heapq[i] = queue.poll();
System.out.println(heapq[i]);
}
System.out.println(Arrays.toString(heapq));
}
}
결과 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
728x90
반응형
'알고리즘' 카테고리의 다른 글
탐색(DFS/BFS) (0) | 2022.03.03 |
---|---|
bisect (3) | 2022.03.02 |
Comments