취준이랄까../코테

깊이/너비 우선 탐색(DFS/BFS): 네트워크 - 완

넹넹선생님 2023. 10. 19. 00:44
728x90
반응형

- DFS: stack-> pop()

- BFS: queue-> pop(0)

 

n, computers(: adjacency matrix)주어질 때,

DFS:

visit = [False]*n

 

def dfs(start_node):

     stack = [start_node]

     while stack:

           node = stack.pop()

           if not visit[node]:

                visit[node]=True

           for next_node in range(n):

                 if (not visit[next_node]) and (computers[node][next_node]==1):

                          stack.append(next_node)

 

for node in range(n):

    if not visit[node]:

         dfs(node)

         answer+=1

 

 

 

남의 코드 참조:

 

728x90
반응형