본문 바로가기

dev, tech/c, c++18

최적화 최적화 기법- 좋은 알고리즘의 선택 : 가장 효율적인 것을 선택하는 것이 가장 근본적인 최적화 방법이다.- 함수를 적절히 활용 : 함수를 사용하게 되면, 함수 호출을 위한 절차로 인해 오버헤드가 발생한다, 그러나 컴파일 결과 만들어지는 실행 파일의 크기가 작아진다. 그래서 속도와 크기와의 연관성을 잘 생각해서 함수를 사용해야 한ㄷ.- 실수형을 사용하지 마라 : 왜냐하면 수치계산용 보조프로세서가 없는 경우에는 실수형의 연산은 너무도 더딘 속도이기 때문이다.- 반복문 내를 최대한 간단히 하라. : 반복문 내를 간단히 하려면 함수 호출을 없애고, 필요한 계산은 반복문 밖에서 다 해 놓을 것과, 필요하다면 기계어로 직접 코딩하는 방법도 생각해 볼 수 있다.- 재귀 호출 형태를 사용하지 마라 : 소스의 이해라는 .. 2006. 4. 6.
알고리즘의 분석 경험적 분석과 수학적 분석 - 경험적 분석 : 알고리즘을 프로그래밍 언어로 구현한 뒤에 이를 실행 시간을 비교해 보는 것 - 수학적 분석 : 알고리즘을 프로그래밍 언어로 구현함이 없이 단지 알고리즘 자체만을 가지고 수학적 분석을 하는 것 최악의 경우와 최선의 경우 - 최악의 경우 : 알고리즘을 수행하는데 가장 많은 시간과 공간을 필요로 하는 경우 - 최선의 경우 : 가장 작은 시간과 공간을 필요로 하는 경우 (- 평균의 경우 : 평균적인 시간과 공간을 필요로 하는 경우) 최악의 경우는 알고리즘의 성능을 표현하는데 많이 사용된다. 아무리 시간이 오래 걸린다고 해도 이 최악의 경우는 넘지 않는 다는 것을 보증하는 셈이므로 그렇다. 실제로도 알고리즘은 최악의 경우 보다 빠른 속도로 실행되게 된다. 알고리즘 분.. 2006. 4. 4.