https://www.youtube.com/watch?v=CJiF-muKz30&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=20https://www.youtube.com/watch?v=CJiF-muKz30&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=20

19강 BFS 알고리즘-0
19강 BFS 알고리즘-1

그래프 내에서

19강 BFS 알고리즘-3

이러한 bfs는

이용한다는 점이 특징이구요

19강 BFS 알고리즘-6

출발지점 즉 시작 노드를 큐에 넣고

19강 BFS 알고리즘-8

2번에 과정을

자 큐에서 노드를 꺼낸뒤에 그 꺼낸 노드의 인접 노드중에서 방문하지 않는 노드를 모두

큐에 넣고 방문처리를 수행합니다

19강 BFS 알고리즘-12

방문을 수행한다는 특징이 있었는데요

19강 BFS 알고리즘-14

이 bfs는 한번에 전부 큐에 넣는다는점이 특징입니다

19강 BFS 알고리즘-17

조건에서의 최단경로 문제를 해결하기 위한 목적으로도 효과적으로 사용될수 있습니다

19강 BFS 알고리즘-19

또한 큐 자료구조가

숙지하실 필요가

19강 BFS 알고리즘-22
19강 BFS 알고리즘-23

동작예시를 이렇게 dfs때와 동일하게

19강 BFS 알고리즘-26

노드 부터 출발한다고 해볼게요 자 그러면 가장 먼저 시작노드인 1번 노드를 큐에 넣고

19강 BFS 알고리즘-29
19강 BFS 알고리즘-30

의 원소가 위에서 들어와서 아래로 나간다고 가정할게요 자 그래서 이제

19강 BFS 알고리즘-32

그 꺼낸 노드의 인접노드중에서

자 그래서 큐에 들어있던 원소 1을 꺼내서 이제 1에 대해서 처리를 하는거에요

19강 BFS 알고리즘-35

19강 BFS 알고리즘-37

칠했구요 이와같이 회색으로 칠했습니다

19강 BFS 알고리즘-40

큐에서 노드 1을 꺼내 방문하지 않은 인접노드인 238을

큐에놓고 방문처리하는것을 확인할 수있습니다

19강 BFS 알고리즘-43

작은번호부터 넣는다고

19강 BFS 알고리즘-45

이어서 큐에서 노드 2를 꺼내서 현재인접한 노드인 1과 7을 확인하는데요 1은 이미

방문처리가 되어있기 때문에 이7만 큐에넣고 방문처리합니다

19강 BFS 알고리즘-48

큐에서 꺼내서 인접한 노드를 확인해서

큐에 넣고 방문처리 합니다

19강 BFS 알고리즘-51

그래서 8번노드를 꺼내지만

19강 BFS 알고리즘-53

19강 BFS 알고리즘-55
19강 BFS 알고리즘-56
19강 BFS 알고리즘-57
19강 BFS 알고리즘-58

자그래서 이렇게 넓게 2 3 8 부터 차례대로 방문하는 것을 확인할수 있어요

19강 BFS 알고리즘-60

1번 노드부터 이 가까운 노드부터

19강 BFS 알고리즘-62
19강 BFS 알고리즘-63

이시작노드인 1번으로부터 거리가 2인걸 확인할 수 있죠

그렇기 때문에 거리가 2인노드 7 4 5 가 차례대로 방문된걸 확인 할 수 있구요

거리가 가장먼 6번 노드가 가장 마지막으로 탐색되는걸 확인할 수 있습니다

19강 BFS 알고리즘-67
19강 BFS 알고리즘-68

이므로 꼭 기억해 주세요

19강 BFS 알고리즘-70
19강 BFS 알고리즘-71

자 이렇게 큐를 위해서 하나의 뎃 라이브러리를 불러와 주시고요

19강 BFS 알고리즘-74

0번 노드에 대한 내용은

19강 BFS 알고리즘-76

노드가 1번부터

총 원소가 9개인 객체를 만들어 주고요

[ ] 이렇게 0인덱스에 대한 내용은 사용하지 않습니다 자 그래서 이제 2차원

19강 BFS 알고리즘-81

각각 노드와 연결된

그래서 1번 노드는 2번노드 3번노드 8번노드와 인접해 있고

그리고 2번노드는 1번노드 7번노드와 인접해 있습니다

19강 BFS 알고리즘-85

방문처리 목적으로 visired 라는 이름의 하나의 리스트를 만들어준걸 확인 할 수 있습니다 자 실제로 bfs 메소드를 확인해 볼게요

19강 BFS 알고리즘-87
19강 BFS 알고리즘-88

이후에 큐가 빌때 까지

19강 BFS 알고리즘-90

19강 BFS 알고리즘-92

덱을 이용해서 큐를 구현할때는 popleft를 이용해서 가장 먼저

19강 BFS 알고리즘-94

원소를

큐에서 원소를 꺼낸뒤에

19강 BFS 알고리즘-97

큐에 다넣어줄

19강 BFS 알고리즘-99

코드로 구현한걸 확인 할 수 있고요

19강 BFS 알고리즘-101
19강 BFS 알고리즘-102
19강 BFS 알고리즘-103

이 bfs함수에 초점을

19강 BFS 알고리즘-105

인접 리스트 방식

19강 BFS 알고리즘-107

인접 노드들에 리스트를

19강 BFS 알고리즘-110

이 bfs 함수를 확인해 보시면 큐에 넣어준 뒤에

19강 BFS 알고리즘-112

수 있도록 합니다

19강 BFS 알고리즘-114

인접노드를 방문하지 않았다면

하는걸 확인할 수 있습니다

19강 BFS 알고리즘-117
19강 BFS 알고리즘-118

로직으로 작성

어뤠이 리스트를

19강 BFS 알고리즘-121

큐를 구현하고자 할때는

19강 BFS 알고리즘-123

원소를 넣을때 offer메소드 를

19강 BFS 알고리즘-125

로직으로

19강 BFS 알고리즘-127

get메소드 점또한

19강 BFS 알고리즘-129

bfs

Last Updated:

Summarize & share videos seamlessly

Loading...