목록알고리즘, 자료구조 (3)
oris9
알고리즘 성능 평가시 `복잡도(Complexity)` 를 이용해 성능을 평가한다. 동일한 기능을 수행하는 알고리즘이 있을 때 복잡도가 낮을 수록 좋은 알고리즘이라 말한다. 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 알고리즘은 Correctness(문제해결), Efficiency(효과적으로 해결)이 기준이다. 정확성, 작업량, 기억 장소 사용량, 최적성, 복잡도(빅O 표기법=점근표기법)를 이용해 Efficiency를 판단한다 1. 시간 복잡도 (TC) "얼마나 빠르게 실행되느냐" 시간 복잡도는 말그대로 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미한다. 반복문과 같이 코드 성능에 영향을 많이 주..
알고리즘(algorithm) 문제를 해결하기 위한 여러 동작들의 모임 어떤 기능이 일어나기 위해 내재된/독립된 단계적 명령어들의 집합 1) 알고리즘의 조건 입력 : 외부에서 제공되는 자료가 0개 이상 존재 출력 : 적어도 2개 이상의 서로 다른 결과 도출 명확성 : 모호하지 않은 명령어로 구성되며 수행 과정이 명확해야 함 (→ 정밀/유일성) 유한성(종결성) : 유한 번의 명령어를 수행 후(유한 시간 내) 종료 효율성 : 모든 과정은 명백하게 실행가능(검증가능) 한 것이어야 한다. (=타당성) 알고리즘 전략세우기(Pseudo-code) 수도코드란? (Pseudo-code, 의사코드) 코드를 작성할때 간단하게 프로그램의 진행과정을 단계별로 기록해 놓으면서 알고리즘을 구상하는 방법을 말한다. 프로그램의 문제를..