알고리즘평가
-
코드를 효율적으로 짜려면?Data miner 2019. 7. 9. 17:10
코드가 효율적인가 비교할 때, 어떤 것을 척도로 계산하게 될까? 먼저, 단순하게 코드를 돌렸을 때 걸리는 시간으로는 측정할 수 없다. 컴퓨터 사양에 따라서 같은 코드라도 돌아가는 속도가 다를 수 있기 때문이다. 또한 같은 사양의 컴퓨터라도 깔려있는 프로그램의 정도에 따라 속도는 다양하게 차이가 날 수 있다. 보통 인풋 크기가 커질 수록 알고리즘의 소요 시간이 커진다. 인풋 데이터의 크기를 n이라고 하면, n이 매우 큰 수라고 가정한다. 왜냐하면, n이 작을 경우에는 알고리즘 이 나쁘든 좋든 사용자가 크게 느끼지 못한다. 그래서, 보통 알고리즘의 효율성을 평가하고자 할 경우, 우리의 알고리즘이 취급하는 데이터가 상당히 크다고 가정한다. 또한, n이 커져나갈 수록 알고리즘의 시간이 어떻게 변화하는가를 통해서..