독고솜의 인생일지

BIG-0 빅오 표현법 본문

카테고리 없음

BIG-0 빅오 표현법

독고솜 2022. 10. 8. 23:00

알고리즘이나 라이브러리 성능에 대한 빅오 표기법.

 

절대적이 아닌 상대적으로 표현함.

300ms같이 구체적인게 아닌 몇개 할시 몇초

 

알고리즘 실해오 시간 -> 복잡도

 

 

빅오 표기법은 O(n)

 

O는 빅어 표기법

n은 입력크기.

 

빅오 표기법의 종류

O(1) : 입력값에 상관없이 일정한 실행시간을 최고!의 알고리즘이라 할 수 있다. 하지만 상수 시간에 실행된다 해도 상수값이 상상 이상으로 클 경우 사실상 일정한 시간의 의미가 없다. 최고의 알고리즘이 될 수 있지만 그만큼 신중해야 한다.

O(log n) : 로그는 매우 큰 입력값에서도 크게 영향을 받지 않는 편이다. 매우 견고한 알고리즘으로 이진 탐색의 경우가 이에 해당한다.

O(n) : 알고리즘을 수행하는데 걸리는 시간은 입력값에 비례한다. 이러한 알고리즘을 선형 시간 알고리즘이라 부른다. 정렬되지 않은리스트에서 최대 또는 최솟값을 찾는 경우가 해당되며 모든 입렵값을 적어도 한 번 이상은 살펴봐야 한다.

O (n log n) : 병합 정렬등의 대부분 효율이 좋은 알고리즘이 이에 해당 한다. 아무리 좋은 알고리즘이라 할지라도 n log n 보다 빠를 수 없다. 입력값이 최선일 경우, 비교를 건너 뛰어 O(n)이 될 수 있다.

O(n^2)  : 버블 정렬 같은 비효율저긴 정렬 알고리즘이 이에 해당 한다.

O(2^n) : 피보나치의 수를 재귀로 계산하는 알고리즘이 이에 해당 한다. n^2와 혼동되는 경우가 있는데 2^n이 훨씬 더 크다.

O(n!) : 가장 느린 알고리즘으로 입력값이 조금만 커져도 계산이 어렵다.

 

https://noahlogs.tistory.com/27

 

빅오 표기법 (big-O notation) 이란

 컴퓨터 과학(Computer Science) 에서 알고리즘은 어떠한 문제를 해결하기 위한 방법이고, 어떠한 문제를 해결 하기 위한 방법은 다양하기 때문에 방법(알고리즘) 간에 효율성을 비교하기 위해 빅오(

noahlogs.tistory.com

https://codermun-log.tistory.com/235

 

빅오 표기법 (O, big-O)

빅오란 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법이다. 빅오는 점근적 실행 시간을 표기할때 가장 널리 쓰이는 수학적 표기 방법이다. 여기서 점근적 실행 시간이란

codermun-log.tistory.com

 

 

 

 

모델 - 뷰 - 컨트롤러 로 놔눠서

데이터의 집합 모델

 

그냥 디자인 디자인 해라 니가 아는 디자인 ㅇㅋ?