우선순위큐2 자료구조 - 힙과 우선순위큐 힙 자료구조 (우선순위큐, 정렬, 다익스트라)이진 트리 위에 정렬 규칙을 얹으면 BST가 되고, 그와는 또 다른 규칙(부모가 자식보다 항상 크다 또는 작다)을 얹으면 힙(Heap)이 된다. 힙은 BST와는 완전히 다른 사용 시나리오를 가지는데, 임의 키 검색이 아니라 최댓값 또는 최솟값을 반복적으로 꺼내는 작업에 특화되어 있다. 이 단순한 규칙 하나로 힙은 우선순위 큐의 표준 구현체, 힙 정렬의 핵심 도구, 다익스트라 최단 경로의 가속기 역할을 동시에 수행한다. 본 글은 힙의 정의·연산·시간복잡도부터 우선순위 큐와 실전 응용까지 세심하게 정리한다(출처: 위키백과 — Heap (data structure)). 제가 학교 알고리즘 수업에서 다익스트라 알고리즘을 처음 배우며 가장 충격이었던 게 우선순위 큐 한.. 2026. 5. 16. 자료구조 - 스택과 큐 스택과 큐 (LIFO, FIFO, 자료구조)배열과 연결리스트가 데이터를 메모리에 어떻게 배치할지를 결정하는 가장 원시적인 자료구조라면, 스택과 큐는 그 위에 "어떤 순서로 들어가고 나오느냐"라는 규칙을 얹은 첫 추상 자료형(ADT, Abstract Data Type)이다. 두 구조는 자료구조 시험뿐 아니라 함수 호출 구조, BFS·DFS 같은 그래프 탐색, 메시지 큐 같은 분산 시스템의 핵심에까지 깊숙이 들어와 있어, 이 두 구조를 정확히 이해하면 이후 등장하는 거의 모든 알고리즘의 골격이 손에 잡힌다(출처: 위키백과 — Stack and queue). 본 글은 스택과 큐의 정의·구현·시간복잡도·실전 활용을 세심하게 정리한다. 제가 학교 자료구조 수업에서 처음 함수 호출 스택을 디버거로 직접 들여다본 후.. 2026. 5. 14. 이전 1 다음