일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파이썬
- 순열
- 동적 프로그래밍
- 리눅스
- 그래프
- 브루트포스
- kick start
- OS
- 백준
- PYTHON
- 동적프로그래밍
- 코딩테스트
- 코딩 테스트
- linux
- 딥러닝
- BFS
- 프로그래머스
- 킥스타트
- 알고리즘
- 코딩
- AI
- dp
- google coding competition
- 구글 킥스타트
- CSS
- 운영체제
- DFS
- 네트워크
- nlp
- 프로그래밍
- Today
- Total
목록깊이우선탐색 (2)
오뚝이개발자

DFS(깊이우선탐색)는 BFS와 함께 그래프를 탐색하는 알고리즘 중 하나이다. DFS는 스택으로 구현할 수 있다. 하지만, 스택을 사용하지 않고도 재귀로 충분히 구현이 가능한데 컴퓨터에서 함수 호출의 과정이 스택으로 구현되는 것을 생각해보면 이해가 될 것이다. DFS, BFS 모두 인접행렬과 인접리스트 두 가지로 구현할 수 있다. 인접행렬로 구현할 경우 특정 item에 접근해 연결성 여부를 검사하는 것은 빠르지만 무조건 O(n^2)만큼의 메모리가 필요하다. 연결리스트를 사용한 인접리스트로 구현하는 경우 메모리 사용을 줄일 수 있지만 특정 item에 접근해 연결성 여부를 검사하는 과정이 좀 느릴 수 있다. 하지만 데이터가 많지 않은 경우 접근에 필요한 시간이 많이 소요되는 것은 아니므로 연결리스트를 사용해..

그래프란? finite set of vertex(V)와 edge(E)로 이루어진 것 - graph G : (V,E) Edge(간선)란? 집합 E는 VxV의 subset이다. 일종의 relation이라 볼 수 있다. directed graph(digraph) vs. undirected graph 그래프에서 방향성이 중요한지의 여부에 따라 구분 path란? 그래프에서 node의 sequence다. 단, 각 노드를 연결하는 edge가 있어야 함 Connected graph vs. Disconnected graph connected graph : 모든 노드 사이에 path가 존재(disconnected는 그 반대) disconnected graph는 여러 개의 connected component로 구성 그래프에..