Algoritm | 문제를 해결하기 위해 필요한 계산절차나 처리과정의 순서
최단 거리나 최단 시간내에 집에서 목적지까지 가는 길을 찾는것과 같은 가장 효율적인 답을 찾아내기 위해 알고리즘이 필요
알고리즘의 조건
- 입력 : 외부에서 제공되는 자료가 0개 이상 존재
- 출력 : 적어도 2개 이상의 서로 다른 결과 도출 (즉 모든 입력에 하나의 출력이 나오면 안됨)
- 명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성
- 유한성(종결성) : 유한 번의 명령어를 수행 후(유한 시간 내)에 종료
- 효율성 : 모든 과정은 명백하게 실행 가능(검증 가능)해야함
좋은 알고리즘이란?
이해하기 쉽다
- 복잡하고 난해한 알고리즘은 나중에는 본인조차 이해하기 어렵게고, 협업 시 다른 사람이 곧바로 이해할 수 없는 문제 발생 가능
속도가 빠르다
- 실행을 한 뒤에 그 결과가 나타날 때 까지의 시간이 짧다
효율적이다
- 프로그램을 실행할 때 사용하는 메모리 영역이 적어야함
- 재이용하기 쉬움
사진: Unsplash의Nicole Wolf
728x90
반응형