Software/Embedded system

Big O complexity 되새김

neovaga 2022. 10. 8. 20:47
반응형

 다시 한번 개념에 대해서 생각하는 시간을 가지게 되었다. 프로그램에서 왜 빅오 개념이 중요한지는 내가 생각하는 빠르다 느리다는 것을 어떻게 일반화 시켜서 적용을 하는가에 대한 것이다. 

 사용하는 HW에 따라서 동일한 알고리즘의 성능이 다르게 나올 수 있기 때문에 빅오를 사용해서 알고리즘의 성능을 판단하는 부분이 된다.

 

  exponent (지수: 거듭제곱을 나타내는 수) <-> logarithm (로그)

O (1) 입력값이 커져도 처리 단계가 한 단계인 경우
O (log n) 처리하는 단계가 특정 요인에 의해서 줄어 드는 경우
O (n) Input이 N 만큼 단계가 필요한 경우
O (n log n) Input 의 수가 N번에서 해당 N 번당 필요한 단계들이 특정요인으로 줄어드는 경우 
O (n^2) Input의 단계의 수가 n의 제곱인 경우

 

https://www.bigocheatsheet.com/  가져옴

 

 

반응형