소프트웨어 공학
알고리즘의 효율성
1000hg
2019. 10. 2. 11:05
반응형
알고리즘의 효율성
알고리즘은 시간 복잡도와 공간 복잡도를 통해 결정된다.
하지만 최근에는 저장 공간의 가격이 싸지고 많아 시간 복잡도만 신경 쓰게 된다.
시간 복잡도란?
알고리즘이 수행 될 때 연산 횟수에 따라 성능이 결정되는 것이다.
예) 정렬 알고리즘을 연산 횟수로 비교하는 것
시간 복잡도는 3가지 케이스로 나뉜다.
Worst Case => 최소한 이 만큼의 성능을 내야한다.
Average Case => 대체적으로 내는 성능이다.
Best Case => 한 알고리즘으로 낼 수 있는 좋은 성능(최고의 알고리즘의 기준은 알 수 없다)
알고리즘 분석시 고려사항
정확성 => 정확한 연산을 했는가?
작업량 => 얼마만큼 연산을 하는가? (시간 복잡도)
메모리 => 얼마나 많은 메모리를 사용하는가? (공간 복잡도)
단순성 => 얼마나 단순한가?
최적성 => 최적하가 되었는가?
반응형