BFS(2)
-
[백준] 14567 - 선수과목
문제 링크https://www.acmicpc.net/problem/14567느낀 점위상정렬의 가장 기본적인 문제 형태라고 생각된다.진입차수를 따져주는 것이 위상정렬에서 키 포인트라고 생각되는데, 진입차수에 대한 배열을 만들고 진입차수가 0인 경우에만 다시 큐에 넣어서 순회해주어야 시간초과, 메모리 초과를 피할 수 있다!입력에 대해 두 가지 자료구조를 생각해볼 수 있다. 아마 현재 문제에서는 입력 값의 길이가 500000이라서 vector>도 괜찮을 수 있지만, 입력 값의 길이가 더 커진다면, 아마 map으로 조회를 해야 시간 초과가 안 날 것 같다! map의 조회성능 : O(logN), 삽입, 삭제 성능: O(logN)인접리스트의 조회성능 : O(1), 삽입, 삭제 성능: O(N)map> courses;..
2024.08.16 -
[백준] 24445 - 너비 우선 탐색 2
문제 링크https://www.acmicpc.net/problem/24445import sysimport collectionsdef bfs(startV): global visited_order queue = collections.deque([startV]) visited[startV] = visited_order while queue: q = queue.popleft() for v in graph[q]: if visited[v] == 0: queue.append(v) visited_order += 1 visited[v] = visited_orderN, M, R..
2024.06.26