Learning
토픽 1 / 82

알고리즘 (Algorithm)

알고리즘 (Algorithm)

문제를 해결하기 위한 명확하고 유한한 단계의 절차로, 입력을 받아 출력을 생성하며 정확성·효율성·종료성을 보장하는 계산 방법

목적: 문제 해결, 효율적 계산, 자동화, 최적화

특징: 명확성, 유한성, 입력·출력, 효과성(실행 가능), 정확성

5가지 조건: ① 입력 ② 출력 ③ 명확성(모호하지 않음) ④ 유한성(종료) ⑤ 효과성(실행 가능)

분류: 정렬, 검색, 그래프, 문자열, 동적 프로그래밍, 탐욕, 분할 정복, 백트래킹

성능 분석: 시간 복잡도, 공간 복잡도, 최선·평균·최악 케이스

설계 기법: 분할 정복, 동적 프로그래밍, 탐욕, 백트래킹, 브루트 포스

비교: 알고리즘(문제 해결 절차) vs 자료구조(데이터 구성 방법) vs 프로그램(알고리즘+자료구조의 구현)

연관: 자료 구조, 시간 복잡도, 설계 기법, 최적화