[이것이 취업을 위한 코딩 테스트다 with 파이썬] 3. DFS & BFS
·
Computer Science/자료구조 | 알고리즘
그래프 탐색 알고리즘: DFS/BFS탐색(Search): 많은 양의 데이터 중 원하는 데이터 찾는 과정대표적인 그래프 탐색 알고리즘: DFS/BFS코딩 테스트에서 매우 자주 등장하는 유형스택 자료구조먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조입구와 출구가 동일한 형태로 스택을 시각화 가능삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()Pythonstack = []stack.append(5)stack.append(2)stack.append(3)stack.append(7)stack.pop()stack.append(1)stack.append(4)stack.pop()print(stack[::-1]) # 최상단 원소부터 출력 [1, 3,..
[바킹독의 실전 알고리즘] 0x09강 - BFS
·
Computer Science/자료구조 | 알고리즘
BFS(Breadth First Search) 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘 -> 너비 우선으로 방문?? 그래프에서 모든 노드를 방문하는 알고리즘 그래프: 정점과 간선으로 이뤄진 자료구조 예시 시작하는 칸을 큐에 넣고 방문했다는 표시를 남김 큐에서 원소 꺼내 그 칸에 상하좌우로 인접한 칸에 대해 3번 진행 해당 칸 이전에 방문했다면 아무것도 하지 않고, 처음 방문했다면 방문했다는 표시 남기고 해당 칸을 큐에 삽입 큐 빌 때까지 2번 반복 => 모든 칸이 큐에 1번씩 들어감 -> 시간복잡도는 칸이 N개일 때 O(N) ex. 행이 R개, 열이 C개 -> O(RC) (0, 0)과 상하좌우로 이어진 모든 파란칸 확인 좌표를 담을 큐 필요 (0, 0)에 방문했다는 표시 + ..
0123suh
'BFS' 태그의 글 목록