DFS
[그래프 탐색] DFS와 BFS
그래프 탐색 📌 개념 그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종 그래프를 탐색은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 말한다. → 모든 노드를 방문하고자 하는 경우에 이 방법을 선택 DFS (Depth First Search) : 깊이 우선 탐색 📌 개념 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식을 말한다. - 스택이나 재귀를 사용하여 구현 📌 그림으로 보기 STEP 1: A를 시작노드로 하겠습니다. STEP 2: A에 인접한 B, C가 스택에 저장됩니다. STEP 3: 스택의 맨 위에 있는 C를 꺼내서 Visited 배열에 넣습니다. ..
자료구조 기초 - 스택(Stack)과 큐(Que)
탐색 (Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다루게 된다. 대표적인 탐색 알고리즘으로 DFS(Depth-First Search)와 BFS(Breadth First Search)를 꼽을 수 있는데, 이 둘을 제대로 이해하려면 기본 자료구조인 스택과 큐에 대한 이해가 전제되어야 하므로 사전 학습으로 스택과 큐, 재귀 함수를 간단히 정리하고자 한다. 자료구조 (Data Structure) 란 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심 적인 함수로 구성된다. 삽입(Push) : 데이터를 삽입한다. 삭제(Pop) : ..