-
정의
주어진 문제를 해결하기 위한 일련의 처리 절차.
-
Input & Output : 0개이상의 input이 필요하며 1개이상의 output을 출력해야한다.
-
명확성(Definiteness) : 수행할 내용과 순서를 나타내는 각 단계들은 명확해야한다.
-
유한성(Finiteness) : 알고리즘은 수행후 반드시 종료해야 한다.
-
유효성(Effectiveness) : 모든 단계의 처리가 명백하게 수행 가능해야 한다.
분석기준
공간 복잡도
알고리즘을 실행하여 완료하기 까지 필요한 총 저장 공간을 의미, 고정 공간량과 가변 공간량의 합
-
고정 공간량 : 프로그램,변수 및 상수들과 같이 프로그램의 크기나 입출력 횟수에 상관 없이 고정적으로 필요한 공간
-
가변 공간량 : 수행과정에서 사용하는 자료와 변수들을 저장하는 공간과 함수 실행에 관련된 정보를 저장하는 공간
시간복잡도
알고리즘이 실행하여 완료하는데 걸리는 시간을 의미, 컴파일시간과 실행시간의 합
-
컴파일시간 : 프로그램 특성과 관련이 적은 고정적인 시간, 프로그램의 수정이 일어나지 않는 한 일정하게 유지.
-
실행시간 : 프로그램 실행시간, 컴퓨터의 성능 등에 의존, 실 시간을 측정하기보다 명령문의 실행 빈도수를 구하여 계산
정렬 알고리즘(Sort-Alogrithm)
삽입정렬
쉘 정렬
선택정렬
퀵 정렬
-