float("inf") 무한대 객체
2025. 1. 13. 08:29ㆍ정보처리,전산/Python
반응형
Python에서 float('inf')를 사용하면 양의 무한대를 나타내는 float 객체를 생성할 수 있다.일반적으로 최단 경로 알고리즘이나 비교 연산에서 사용된다.
예시
# 양의 무한대
positive_infinity = float('inf')
print(positive_infinity) # 출력: inf
print(positive_infinity > 1000000) # 출력: True
# 음의 무한대
negative_infinity = float('-inf')
print(negative_infinity) # 출력: -inf
print(negative_infinity < -1000000) # 출력: True
벨만-포드 알고리즘에서 INF 값 갱신
INF = float('inf')
# 초기 거리 배열 (시작 노드의 거리는 0, 나머지는 INF로 설정)
distances = [INF, INF, INF]
distances[0] = 0 # 시작 노드의 거리 0으로 설정
# 어떤 간선을 따라 가면 거리가 10이 된다면
distances[1] = min(distances[1], distances[0] + 10) # distances[0]은 0, 0+10 = 10
# 10은 INF보다 작으므로 distances[1]이 10으로 갱신된다.
# 결과적으로 distances[1]은 10이 되고, INF는 여전히 갱신되지 않은 노드에 대해 남습니다.
print(distances) # 출력: [0, 10, inf]
- INF보다 작은 값은 INF보다 작고, 벨만-포드 알고리즘에서는 INF보다 작은 값을 발견하면 그것으로 갱신하는 방식으로 작동한다. 따라서 INF는 최단 거리를 계산할 때 초기값으로 사용되며, 그보다 작은 값이 발견되면 그 값으로 업데이트된다.
반응형
'정보처리,전산 > Python' 카테고리의 다른 글
Actual, Formal Parameter (1) | 2024.12.01 |
---|---|
palindrome (0) | 2024.11.28 |
데이터 타입을 처리, 결과를 누적 (0) | 2024.11.28 |
재귀와 메모이제이션을 활용한 수열 계산 (0) | 2024.11.28 |
Class 에서 init self 사용 (0) | 2024.11.14 |