[Algorithm Part 3] 1. Introduction
2023. 7. 6. 14:27ㆍAlgorithm
이번 파트에서는 (문제 풀이) 기술들(=techniques)에 대해 살펴볼 것이다.
(문제 풀이) 기술이란, 컴퓨터로 문제를 풀 때 사용되는 접근법(=approach) 혹은 방법론(=methodology)을 의미한다.
(e.g., divide-and-conquer, dynamic programming, greedy approach)
용어 정리
- specific task 혹은 question을 problem(=문제)라고 한다. (e.g., 정렬, 최단 경로)
- 문제 설명글에 값이 정해지지 않은 변수가 나올 수 있으며, 이를 parameters (to the question)라고 한다.
- 문제 parameters에 특정 값을 할당하여, 구체화된 문제를 instance (of the problem)라고 한다.
- instance의 답을 solution (to an instance of a problem)이라고 한다.
- 문제의 모든 instance의 solution을 제공해주는 단계별 절차(=step-by-step procedure)를
algorithm (for the problem)이라고 한다.
이번 카테고리에서는,
- 알고리즘을 만들 때 사용되는 접근법 즉, 기술에 대해 살펴볼 것이다.
- 각 접근법을 활용해 만들어진 유명한 알고리즘에 대해 살펴볼 것이다.
- 마지막으로, 각 알고리즘의 (시간 및 공간) 성능 분석을 할 것이다.
'Algorithm' 카테고리의 다른 글
[Algorithm Part 3] 3. Divide-and-Conquer algorithms (0) | 2023.07.12 |
---|---|
[Algorithm Part 3] 2. Divide-and-Conquer (0) | 2023.07.07 |
[Algorithm Part 2] 11. Reduction (0) | 2023.06.29 |
[Algorithm Part 2] 10. Data Compression (0) | 2023.06.27 |
[Algorithm Part 2] 9. Pattern Matching (0) | 2023.06.22 |