Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 개발자
- coding
- db
- 코테
- 컴퓨터사이언스
- GNN
- 데이터
- sort
- SQL
- LeetCode
- Data_Structure
- 오블완
- CS
- 코딩테스트
- 데이터베이스
- Leet Code
- meshgraphnet
- 자료구조
- code
- Mesh
- DS
- 컴퓨터공학
- Python
- mysql
- 티스토리챌린지
- 대학생
- 데베
- adaptive remeshing
- Database
- CNN
Archives
- Today
- Total
sy1214ei 님의 블로그
[DS] BFS 구현 - python 본문
from collections import deque
def bfs(graph, start_node):
# visited (set): 중복된 노드를 방문하지 않기 위함
# traversal (list): 방문 순서를 기록하기 위함
"""
1. queue가 empty라면 while문 끝
2. curr = queue.leftpop()
3. 만약 curr이 visited에 없다면
4. neighbor이 visited에 없을때만 append
"""
# 초기 선언
visited = set()
traversal = []
queue = deque([start_node])
# bfs 시작
while queue:
curr = queue.popleft()
if curr not in visited:
visited.add(curr)
traversal.append(curr)
for neighbor in graph[curr]:
if neighbor not in visited:
queue.append(neighbor)
return traversal
graph = {
'A': ['B', 'C'],
'B': ['D','E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
print(bfs(graph, 'A'))'Subject > [DS] Data Structure' 카테고리의 다른 글
| [DS] DFS 구현 - Python (0) | 2024.12.16 |
|---|