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