๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[๋‚ด๊ฐ€ ๋ณผ ์œ ์šฉํ•œ ๋ชจ์Œ] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ

[๋‚ด๊ฐ€ ๋ณผ ์œ ์šฉํ•œ ๋ชจ์Œ] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

์ง•์ง•์•ŒํŒŒ์นด 2022. 10. 7. 16:55
728x90
๋ฐ˜์‘ํ˜•

 

 

 

 

๐Ÿ’š ์ฃผ์–ด์ง„ ์ž„์˜์˜ ๋…ธ๋“œ ๊ด€๊ณ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

  • (๊ฐ€์žฅ ํฐ ๋…ธ๋“œ ๋ฒˆํ˜ธ๊ฐ€ 5, ๋…ธ๋“œ๋Š” ์ด 5๊ฐœ, ๊ฐ„์„  ๊ฐœ์ˆ˜ 5) 
graph=[[] for _ in range(6)]

for _ in range(5):
    A,B=map(int,input().split())
    graph[A].append(B)
    graph[B].append(A)

print(graph)

https://lbdiaryl.tistory.com/219

 

 

๐Ÿ’š ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search)

: DFS๋Š” ํ•œ ๋ฃจํŠธ๋กœ ๊ณ„์† ๋“ค์–ด๊ฐ€ ํƒ์ƒ‰ํ•œ ๋’ค ํƒ์ƒ‰์„ ๋งˆ์น˜๋ฉด ๋‹ค์‹œ ๋Œ์•„๊ฐ€ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋ฃจํŠธ๋กœ ๋“ค์–ด๊ฐ€ ํƒ์ƒ‰

: ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ฐฑ ํŠธ๋ž˜ํ‚น ์‹œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

def dfs(v):
    visited[v] = True
    print(v, end=' ')
    for i in graph[v]:
        if not visited[i]:
            dfs(i)


graph=[[] for _ in range(6)]
visited=[False]*6 #๋ฐฉ๋ฌธ ์—ฌ๋ถ€

for _ in range(5):
    A,B=map(int,input().split())
    graph[A].append(B)
    graph[B].append(A)

for i in graph: #๋…ธ๋“œ๋ฒˆํ˜ธ์— ๋”ฐ๋ผ ์ •๋ ฌ
    i.sort()

dfs(1)
print()
print(visited)
print(graph)

 

 

 

 

 

 

 

๐Ÿ’š ๋„“์ด ์šฐ์„  ํƒ์ƒ‰(Breadth First Search)

: BFS๋Š” ์‹œ์ž‘ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

: ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ๊ณ  ์ˆœ์ฐจ์ ์œผ๋กœ ์ถ”์ถœํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ๊ตฌํ˜„

from collections import deque

def bfs(start):
    queue=deque([start])
    visited[start]=True

    while queue:
        v = queue.popleft()
        print(v, end=' ')
        for i in graph[v]:
            if not visited[i]:
                queue.append(i)
                visited[i] = True

graph=[[] for _ in range(6)]
visited=[False]*6

for _ in range(5):
    A,B=map(int,input().split())
    graph[A].append(B)
    graph[B].append(A)

for i in graph: 
    i.sort()

bfs(1)
print()
print(visited)

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments