DFS3 알고리즘 - 백트래킹, N-Queens 백트래킹 (N-Queens, 가지치기, DFS)분할 정복·DP·그리디가 모두 효율적인 알고리즘 패러다임이었다면, 백트래킹(Backtracking)은 본질적으로 모든 가능한 답을 시도해 보는 완전 탐색의 정교한 변형이다. "일단 한 길로 가 보고, 막히면 되돌아 와 다른 길을 시도하는" 사고방식이며, N-Queens·미로 찾기·스도쿠·조합 생성처럼 답의 후보가 트리 구조로 자라는 문제에 강력하다. 핵심 기교는 가지치기(Pruning) — 명백히 답이 될 수 없는 경로를 미리 잘라 내는 일이며, 가지치기 없는 백트래킹은 단순 완전 탐색일 뿐이다. 본 글은 백트래킹의 정의·DFS와의 관계·N-Queens 고전 풀이·가지치기 전략을 세심하게 정리한다(출처: CLRS — Introduction to Algorit.. 2026. 5. 19. 자료구조 - 그래프 탐색 그래프 (BFS, DFS, 인접리스트)트리는 그래프의 특수한 형태(사이클 없음 + 단일 부모)였다면, 그래프는 그 제약을 모두 풀어 노드들이 임의의 방식으로 연결될 수 있는 가장 일반적인 자료구조이다. 도로망·SNS 인맥·웹 페이지의 하이퍼링크·전력망·항공 노선·통신 토폴로지·게임 맵까지, 현실 세계의 거의 모든 네트워크가 그래프로 모델링된다. 그래프 위에서 동작하는 탐색 알고리즘 BFS·DFS는 이후 등장하는 거의 모든 그래프 알고리즘(최단 경로·최소 신장 트리·위상 정렬 등)의 토대가 되며, 그 위에서 다익스트라·크루스칼·프림 같은 고급 알고리즘이 얹어진다. 본 글은 그래프의 정의·표현 방법·탐색 알고리즘을 세심하게 정리한다(출처: 위키백과 — Graph (abstract data type)). 제가.. 2026. 5. 16. 자료구조 - 스택과 큐 스택과 큐 (LIFO, FIFO, 자료구조)배열과 연결리스트가 데이터를 메모리에 어떻게 배치할지를 결정하는 가장 원시적인 자료구조라면, 스택과 큐는 그 위에 "어떤 순서로 들어가고 나오느냐"라는 규칙을 얹은 첫 추상 자료형(ADT, Abstract Data Type)이다. 두 구조는 자료구조 시험뿐 아니라 함수 호출 구조, BFS·DFS 같은 그래프 탐색, 메시지 큐 같은 분산 시스템의 핵심에까지 깊숙이 들어와 있어, 이 두 구조를 정확히 이해하면 이후 등장하는 거의 모든 알고리즘의 골격이 손에 잡힌다(출처: 위키백과 — Stack and queue). 본 글은 스택과 큐의 정의·구현·시간복잡도·실전 활용을 세심하게 정리한다. 제가 학교 자료구조 수업에서 처음 함수 호출 스택을 디버거로 직접 들여다본 후.. 2026. 5. 14. 이전 1 다음