본문 바로가기

파이썬 알고리즘3

(알고리즘)DFS(Depth-First-Search) 깊이 우선 탐색 - 파이썬 DFS 1. DFS동작 예시 DFS(Depth-First-Search)는 말 그대로 깊은 곳에 있는 노드를 탐색하는 방법이다. DFS는 재귀함수를 사용하여 깊이 있는노드를 탐색한다. *재귀함수는 스택과 유사하다. 집어 넣은 순서대로 1->2->4->8->5->3->6->7 2. DFS코드 예제(python) import graphlib graph=[ [], #노드가 1부터 시작하므로 비움. [2,5,3], #1과 인접한 노드 [1,4,8], #2와 인접한 노드 [1,6,7], #3과 인접한 노드 [2], #4와 인접한 노드 [1,8], #5와 인접한 노드 [3,7], #6과 인접한 노드 [3,6], #7과 인접한 노드 [2,5] #8과 인접한 노드 ] visited = [False]*len(graph) .. 2021. 6. 11.
(알고리즘)BFS(Breadth-First-Search) 너비 우선 탐색 - 파이썬 + 백준 2178 풀이 BFS 1. BFS동작 예시 - 가까운 노드부터 우선적으로 탐색하는 알고리즘 - BFS는 큐를 사용하여 너비 우선으로 탐색한다. 집어 넣은 순서대로 1 -> 2 -> 3 -> 5 -> 4 -> 8 -> 6 -> 7 2. BFS 코드 예시 from collections import deque #queue를 사용하기 위해 쓰임 리스트를 사용해도 되지만, #deque이 시간을 더 단축해줌. def bfs(graph, start, visited): queue = deque([start]) #처음 정점을 넣어줌 visited[start] = True while queue: v = queue.popleft() print(v, end=' ') # 한 줄로 출력 for i in graph[v]: #만약 v=1일때 i는.. 2021. 6. 10.
(내돈내산/파이썬)Do it! 자료구조와 함께 배우는 알고리즘 입문 책 리뷰/파이썬 자료구조 입문 책 리뷰 자료구조와 함께 배우는 알고리즘 입문- 파이썬 편 후기 점프 투 파이썬 책을 다 본 후, 좀 더 제대로 공부하고 싶어서 알고리즘책을 샀습니다. (또한 코딩테스트문제 보니까 거의 알고리즘을 잘 알아야 될 것 같아서...) 이런 사람들에겐 비추! 1. 코딩에 대한 기초 지식이 아예 없으신 분들한테는 완전 비추입니다. 2. 파이썬을 한번도 접해 보지 않은 분들에게는 비추입니다 3. 복잡한거 안좋아하고, 제대로 공부할 의지가 없으신 분들에게는 비추입니다. (앞에는 쉬운데 뒤로갈수록 hell파티 시작) 이런 사람들에겐 강추! 1. 파이썬 기초지식을 다 습득하신 분들에게 추천드립니다. 2. 코딩을 좀 더 제대로 공부해보고 싶다! 하는 분들에게 추천드립니다. 3. 코딩테스트 대비해야 되는 분들에게 추천! (백준사이트.. 2021. 4. 9.