소프트웨어 공학

알고리즘의 효율성

1000hg 2019. 10. 2. 11:05
반응형

알고리즘의 효율성

 

알고리즘은 시간 복잡도공간 복잡도를 통해 결정된다.

 

하지만 최근에는 저장 공간의 가격이 싸지고 많아 시간 복잡도만 신경 쓰게 된다.

 

시간 복잡도란?

 

알고리즘이 수행 될 때 연산 횟수에 따라 성능이 결정되는 것이다.

예) 정렬 알고리즘을 연산 횟수로 비교하는 것

 

시간 복잡도는 3가지 케이스로 나뉜다.

 

Worst Case     => 최소한 이 만큼의 성능을 내야한다.

Average Case  => 대체적으로 내는 성능이다.

Best Case       => 한 알고리즘으로 낼 수 있는 좋은 성능(최고의 알고리즘의 기준은 알 수 없다)

 

 

알고리즘 분석시 고려사항

 

정확성 => 정확한 연산을 했는가?

작업량 => 얼마만큼 연산을 하는가? (시간 복잡도)

메모리 => 얼마나 많은 메모리를 사용하는가? (공간 복잡도)

단순성 => 얼마나 단순한가?

최적성 => 최적하가 되었는가?

 

 

 

반응형