오늘부터 공부한다
알고리즘의 효율성 본문
반응형
알고리즘의 효율성
알고리즘은 시간 복잡도와 공간 복잡도를 통해 결정된다.
하지만 최근에는 저장 공간의 가격이 싸지고 많아 시간 복잡도만 신경 쓰게 된다.
시간 복잡도란?
알고리즘이 수행 될 때 연산 횟수에 따라 성능이 결정되는 것이다.
예) 정렬 알고리즘을 연산 횟수로 비교하는 것
시간 복잡도는 3가지 케이스로 나뉜다.
Worst Case => 최소한 이 만큼의 성능을 내야한다.
Average Case => 대체적으로 내는 성능이다.
Best Case => 한 알고리즘으로 낼 수 있는 좋은 성능(최고의 알고리즘의 기준은 알 수 없다)
알고리즘 분석시 고려사항
정확성 => 정확한 연산을 했는가?
작업량 => 얼마만큼 연산을 하는가? (시간 복잡도)
메모리 => 얼마나 많은 메모리를 사용하는가? (공간 복잡도)
단순성 => 얼마나 단순한가?
최적성 => 최적하가 되었는가?
반응형
'소프트웨어 공학' 카테고리의 다른 글
객체지향 (0) | 2019.10.07 |
---|---|
4+1 뷰 아키텍처 모델 (0) | 2019.10.07 |
소프트웨어 아키텍쳐 (0) | 2019.10.07 |
프로토타입 이란? (0) | 2019.10.07 |
UML이란? (0) | 2019.10.01 |