코딩 기록소
article thumbnail
[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap)이란?
자료구조 2022. 2. 5. 14:37

우선순위 큐란? 일반적인 큐(Queue)에서는 먼저 들어간 데이터가 제일 먼저 나오는 FIFO(First In First Out) 형태로 이루어진 선형 자료구조이다. 우선순위 큐는 이러한 FIFO 형식이 아닌 우선순위를 매겨 우선순위가 가장 높은 데이터가 먼저 나오는 것을 말한다. 우선순위 큐 특징 모든 데이터에는 우선순위를 가지고 있다. 우선순위가 가장 높은 데이터가 먼저 queue에서 나오게 된다. 데이터의 우선순위가 같은 경우에는 먼저 queue에 들어온 데이터가 높은 우선순위를 가지게 됩니다. 우선순위 큐 구현방법 리스트 기반 연결 리스트 힙 기반 리스트의 경우에는 데이터가 많아질 경우 우선순위에 따라 모두 비교한 다음, 해당 위치 뒤부터 전체 데이터를 뒤로 밀어줘야 한다. 연결리스트의 경우에는 ..

[Python 알고리즘] 백준 11000번 : 강의실 배정
Python 알고리즘 2022. 2. 4. 22:49

문제 수강신청의 마스터 김종혜 선생님에게 새로운 과제가 주어졌다. 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다.) 수강신청 대충한 게 찔리면, 선생님을 도와드리자! 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 입력 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) # Case 1 3 1 3 2 4 3 5 출력 강의실의 개수를 구해라 # Case 1 2 내가 제출한 풀이 - Heap에 대해 공부 후 품 import sys import heap..