Algorithm/모두의 알고리즘 with Python

[알고리즘 기초] 1부터 n까지의 합

비번변경 2021. 9. 24. 18:13

알고리즘

어떤 문제를 풀기 위한 절차나 방법
주어진 입력을 출력으로 만드는 과정을 구체적으로 명료하게 표현한 것

 

1부터 n까지의 합을 구하는 알고리즘

1부터 n까지의 합을 구하는 알고리즘

  • 방법 1
    값을 1씩 증가시키면서 덧셈 연산
    값을 1씩 증가시키면서 덧셈 연산
  • 방법 2
    가우스 등차수열의 합 공식 활용
    $$ S_n = \frac{n*(n+1)}{2} $$ 
    가우스 등차수열의 합 공식 활용

 

알고리즘 분석

주어진 문제를 푸는 여러 가지 방법 중 어떤 방법이 더 좋은지 판단할 때 필요하며, 분석에는 복잡한 수학 이론이 필요한 경우가 많다.

입력 크기가 알고리즘의 수행 성능에 영향을 미치는 경우가 많으므로, 입력 크기가 매우 큰 경우에 대해 따져보는 것이 중요하다.

 

계산 복잡도(Complexity)

O() 표기법(Big O)을 가장 많이 사용한다. 알고리즘의 대략적인 성능을 표시하며 필요한 계산 횟수와 입력 크기와의 관계를 표현한다.

  • O(n)
    필요한 계산 횟수가 입력 크기에 정비례하다. 입력 크기와 계산 시간이 대체로 비례한다.
  • O(1)
    필요한 계산 횟수가 입력 크기와 무관하다. 입력 크기가 커져도 계산 시간이 늘어나지 않는다.

 

시간 복잡도(time complexity)

어떤 알고리즘을 수행하는 데 얼마나 오랜 시간이 걸리는지 분석

 

공간 복잡도(space complexity)

어떤 알고리즘을 수행하는 데 얼마나 많은 공간(메모리/기억 장소)이 필요한지 분석

 

 

참고문서

https://thebook.io/006935/

https://blog.minamiland.com/560

728x90