C++
-
[C++] 불편함을 해소 시켜주는 bits/stdc++.hC++ 2022. 2. 12. 22:12
C++로 알고리즘 문제를 풀이하다보면 특정 기능이나 컨테이너를 사용하기 위해 라이브러리를 추가하는 경우가 많다. 예를 들어, vector, queue, algorithm, string 등과 같은 것들이다. 매 번 문제를 풀때마다 필요한 라이브러리들을 그때 그때 넣어줘야 하는데, 간단한 코드면 몰라도 개인적으로 불편함을 많이 느꼈다. 이러한 번거로움을 덜어줄 수 있는 라이브러리가 바로 bits/stdc++ 헤더파일인데 이 파일에는 기본적인 라이브러리부터 시작해서 사용되는 빈도수가 높은 라이브러리, 생소한 라이브러리까지 포함되어 있는데 코드는 다음과 같다. cpp 파일을 만든 후 여러 라이브러리들을 추가할 필요없이 #include 만 작성해준다면 아래의 라이브러리들이 포함되어 있어 훨씬 편리하게 문제를 해결..
-
[C++] 우선순위 큐 STL(priority_queue)C++/STL 2021. 12. 27. 02:52
With Heap Sort Max heap, Min heap를 구현하기 위해서 사용하며, 계속해서 minimum 값을 구해야하는 다익스트라 알고리즘 같은 경우에서 priority_queue를 이용해 min heap을 사용하면 좀 더 짧은 시간에 해결할 수 있다. Perfect Binary Tree(포화 이진 트리) -> 말단 노드를 제외한 모든 노드의 차수가 2로 트리의 레벨마다 비어있는 공간이 존재하지 않음. Complete Binary Tree(완전 이진 트리) -> leaf node의 오른쪽 노드는 비어 있을 수 있으며 배열에 저장하는 것이 가장 효율적. Heap은 Complete Binary Tree를 만족. Max Heap : 부모 노드는 항상 자식 노드에 들어있는 값 보다 크다. Min Hea..