2024. 5. 13. 06:52ㆍ코딩 도구/백준
백준 11724 - 연결 요소의 개수
문제
https://www.acmicpc.net/problem/11724
11724번: 연결 요소의 개수
첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어
www.acmicpc.net

답안 코드 :
생각 :
# 문제 분석
# 노드의 최대 개수가 1,000이므로 시간복잡도 N^2이하의 알고리즘 모두 사용 가능
# 연결요소는 에지로 연결된 노드의 집합이고
# 한 번의 DFS가 끝날 때까지 탐색한 모든 노드의 집합을 하나의 연결 요소라고 판단
# 문제 풀이
# 그래프를 인접리스트로 저장
# 방문 리스트 초기화
# 방향이 없으니 양쪽 방향으로 에지 모두 저장
# 임의의 시작점에서 DFS 수행
# DFS 실행 횟수가 곧 연결 요소 개수이다
###################################
import sys
sys.setrecursionlimit(10000)
# Python에서 재귀 호출의 최대 깊이(recursion depth)를 설정하는 방법을 보여줍니다.
# sys.setrecursionlimit(10000)은 재귀 호출의 최대 깊이를 10,000으로 설정합니다.
# 기본적으로 Python은 재귀 호출의 최대 깊이를 1000으로 설정하며,
# 이 코드를 사용하여 최대 깊이를 더 늘릴 수 있습니다.
탐색 알고리즘 정리 블로그
탐색 알고리즘 정리
탐색 탐색은 주어진 데이터에서 자신이 원하는 데이터를 찾아내는 알고리즘을 말한다. 주어진 데이터의 성질(정렬 데이터 또는 비정렬 데이터)에 따라 적절한 탐색 알고리즘을 선택하는 것이
mkisos.tistory.com
'코딩 도구 > 백준' 카테고리의 다른 글
백준 13023 파이썬 DFS의 시간 복잡도 O(V+E) (1) | 2024.05.15 |
---|---|
백준 2023 파이썬 DFS 재귀함수 (2) | 2024.05.14 |
백준 10989 파이썬 기수정렬 계수정렬 (32) | 2024.02.24 |
백준 1517 파이썬 병합정렬 손풀이 플레티넘 (44) | 2024.02.22 |
백준 2751 파이썬 병합정렬 (49) | 2024.02.21 |