일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 12865
- BOJ 2606
- 9663
- 평범한 배낭
- 8-queen
- boj 11053
- 소수찾기
- 파이썬
- 프로그래머스
- dfs
- 백준
- BFS
- 증가하는 부분수열 2
- 가장 긴 증가하는 부분수열
- 냅색
- 데카르트 곱
- 백준 1535
- 백준_2178
- 미로탐색
- 대소비교
- python
- 2606
- 알고리즘
- 백준 12015
- 백준 2606
- LCS2
- 백준 9252
- 리스트
- list
- 타겟 넘버
- Today
- Total
목록dfs (3)
Devlog_by_0giru
# 테스트 케이스 2 통과 / 실패 def solution(tickets): nation_num = len(tickets) graph = [] graph_new = [] result = [] for inf in tickets: graph.append([inf[0]]) for inf in tickets: for i in range(nation_num): if inf[0] == graph[i][0]: graph[i].append(inf[1]) for inf in graph: if inf not in graph_new: graph_new.append(inf) for inf_new in graph_new: temp1 = inf_new[0] inf_new.sort() temp2 = inf_new.index(tem..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lkzDb/btqY7paSITv/vA3wudS3auIZYh9LezNyg0/img.png)
깊이 우선 탐색, Depth_-First-Search(이하 DFS)은 그래프를 탐색하는 대표적인 알고리즘이다. 이름에서 유추할 수 있듯, 하나의 지점에서 가장 깊은 깊이까지 파고들며 탐색을 진행한다. 먼저 그래프는 정점과 간선으로 이루어져 있다. 정점은 노드라고도 부르며 간선은 각 정점을 잇는 선이다. 아래의 그림에서 원 하나를 정점이라고 하고, 정점을 잇는 선이 간선이다. DFS의 주요한 특징은 바로 스택 자료구조를 이용한다는 것이다. DFS를 할 때에는 재귀함수를 주로 이용하게 된다. 왜냐하면, 함수를 호출하게 되면 호출된 함수는 종료되기 전까지 스택 메모리 구조에 남아있게 된다. 따라서 BFS와 달리 Queue나 Dequeue를 따로 만들어 주지 않아도 자동적으로 스택을 이용해서 데이터를 탐색하는 ..
from collections import deque # dfs 함수 def dfs(par_graph, par_v, par_visited): visited[par_v] = True result_dfs.append(par_v) for i in par_graph[par_v]: if not visited[i]: dfs(par_graph, i, par_visited) #bfs 함수 def bfs(par_graph, par_v, par_visited): visited[par_v] = True queue.append(par_v) while queue: v = queue.popleft() result_bfs.append(v) for i in par_graph[v]: if not visited[i]: queue.app..