본문 바로가기

알고리즘2

DFS 깊이우선탐색, BFS 넓이우선탐색 DFS (Depth-First Search) DFS는 Depth-First Search의 약자로, 깊이 우선 탐색이다. 시작점에서 주변 노드를 찾은 후 (이 때 탐색하는 노드는 문제 조건마다 다르지만 대부분 오름차순으로 진행) 가장 깊은 노드까지 탐색하는 방법이다. 구현방법: 재귀함수를 사용하는데, 그래프가 주어지면 첫 방문 노드의 visited 인덱스 값을 True로 바꿔준다. 이후 노드 방문을 출력해주고, 그 노드의 인접 노드 값들을 for문을 돌려서 인접 노드들 중 방문하지 않은 노드들만 다시 DFS 함수를 실행한다. 코드구현: def dfs(graph, v, visited): visited[v] = True print(v, end = ' ') for i in graph[v]: if not visi.. 2021. 2. 6.
[코드플러스] 코드플러스 알고리즘 기초 강의 수강 시작! 컴퓨터공학 비전공자로서 항상 알고리즘, 구현력 등 모든 부분이 부족하다고 실감하고 있다. 회사에서 깨작꺠작 파이썬이나 조금 다루면서 하고있는데 조만간 밑천이 바닥나기 전에 공부를 해야겠다는 생각이 들었다. 사실 내가 하는건 정말 전공자가 보면 코딩이라고 하기도 부끄러울 정도다. 알고리즘 공부를 하려고 종만북을 먼저 샀는데, 읽다보니까 여기저기서 막혀서 진도가 너무 느린게 느껴진다. 한문제 한문제 이해할때마다 성취감은 있는데 기초가 워낙 없다보니까 속도가 너무 느리다.. 그래서 인터넷 강의를 찾아봤는데 패스트 캠퍼스, 코드잇, 코드플러스같이 요즘은 코딩 교육 하는 사이트가 엄청나게 많더라. 평소에 이런쪽으로 많이 찾아봐서 그런지 인스타그램에서도 광고가 다 이쪽으로 뜨는것 같기도 하고.. 여기저기 물어보면서.. 2020. 3. 30.