재귀 2

깊이 우선 탐색(Depth-First Search, DFS): 그래프 탐색 알고리즘

🔹 DFS란?1. 깊이 우선 탐색(Depth-First Search, DFS)의 정의깊이 우선 탐색(Depth-First Search, DFS)은 그래프를 탐색하는 알고리즘으로, 한 경로를 끝까지 탐색한 후 다시 돌아가 다른 경로를 탐색하는 방식입니다. DFS는 스택(Stack) 또는 재귀(Recursion)를 활용하여 구현되며, 미로 탐색, 경로 찾기, 백트래킹 등에 널리 활용됩니다.✅ DFS의 주요 특징:한 경로를 끝까지 탐색한 후, 더 이상 진행할 수 없으면 이전 노드로 돌아감(백트래킹)재귀 함수(Recursion) 또는 명시적 스택(Stack)을 사용하여 구현 가능BFS(너비 우선 탐색)와 달리 특정 경로를 먼저 탐색하는 방식O(V+E)의 시간 복잡도를 가짐 (V: 정점 수, E: 간선 수)📌..

IT이야기 2025.03.01

스택(Stack): 후입선출(LIFO) 구조의 개념과 활용

🔹 스택이란?1. 스택(Stack)의 정의스택(Stack)은 후입선출(LIFO, Last In First Out) 원칙을 따르는 선형 데이터 구조로, 마지막에 추가된 요소가 가장 먼저 제거되는 구조입니다. 스택은 메모리 관리, 함수 호출, 괄호 검사, 되돌리기(Undo) 기능 등 다양한 컴퓨터 과학 분야에서 활용됩니다.✅ 스택의 주요 특징:후입선출(LIFO) 방식으로 작동삽입(push)과 삭제(pop) 연산만 수행 가능항상 가장 최근에 추가된 요소를 제거O(1)의 시간 복잡도로 연산 수행 가능📌 스택은 후입선출 구조를 활용하는 알고리즘과 시스템에서 필수적인 데이터 구조입니다.🔹 스택의 주요 연산1. 삽입(Push) - O(1)✅ 새로운 요소를 스택의 맨 위에 추가하는 연산✔️ Push 연산 예제 (..

IT이야기/보안 2025.03.01