알고리즘/DFS

깊이 우선 탐색 (DFS, Depth-First Search) 정의 DFS는 그래프의 모든 정점을 탐색하는 알고리즘 중 하나로, 가장 깊은 부분을 우선적으로 탐색하는 방식입니다. 사용 예 문제: 그래프의 모든 정점 방문, 경로 탐색 등 과정 설명 시작 정점 선택: 탐색을 시작할 정점을 선택합니다. 인접 정점 탐색: 현재 정점에서 갈 수 있는 인접한 정점을 찾습니다. 깊이 우선 탐색: 인접한 정점 중 하나를 선택하여 더 깊게 탐색합니다. 방문 체크: 방문한 정점은 체크하여 중복 방문을 방지합니다. Sudo Code def dfs(graph, v, visited): visited[v] = True for i in graph[v]: if not visited[i]: dfs(graph, i, visited)
문제 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다) 의 경우에서 위로 블록을 이동시키면 의 상태가 된다. 여기서, 왼쪽으로 블록을 이동시키면 의 상태가 된다. 의 상태에서 블록을 오른쪽으로 이동시키면 가 되고, 여기서 다시 위로 블록을 이동시키면 이 된다. 여기서 오른쪽으로 블록을..
berom
'알고리즘/DFS' 태그의 글 목록