😜bfs , dfs 문제 풀이 방식 공통
- vertex 방문 graph만들어주기
- 방문여부 그래프 만들어주기
- edge개수만큼 연결 상태 나타내기
- 함수 선언하고 vertex인덱스 인자로 받기
- 큐(bfs) 또는 재귀함수(dfs)로 방문여부 반영
(추가 분석➕➕)
✔️bfs
는 deque를 import해서 leftpop()한 가장 먼저 탐색한 값을 가지고 다음 vertex로 탐색진행을 따지는 경우
✔️dfs
는 vertex 하나를 잡고 방문여부를 기준으로 탐색진행을 따지는 경우 (이미 방문을 했다면 재귀빠져나가기)
✔️다익스트라
는 heapq를 import해서 edge가 지닌 weight를 기준으로 우선순위 큐를 활용해서 우선순위를 따지는 경우
✔️위상정렬
은 1. 진입 차수가 0인 정점을 큐에 삽입한다. 2. 큐에서 원소를 꺼내 해당 원소에 연결된 간선을 제거한다. 3. 간선을 제거한 후 진입 차수가 0이 된 정점을 큐에 삽입한다. 4. 위 과정을 반복한다