[Algorithm Part 3] 1. Introduction

2023. 7. 6. 14:27Algorithm

이번 파트에서는 (문제 풀이) 기술들(=techniques)에 대해 살펴볼 것이다.

(문제 풀이) 기술이란, 컴퓨터로 문제를 풀 때 사용되는 접근법(=approach) 혹은 방법론(=methodology)을 의미한다.

(e.g., divide-and-conquer, dynamic programming, greedy approach)

 

용어 정리

  1. specific task 혹은 question을 problem(=문제)라고 한다. (e.g., 정렬, 최단 경로)
  2. 문제 설명글에 값이 정해지지 않은 변수가 나올 수 있으며, 이를 parameters (to the question)라고 한다.
  3. 문제 parameters에 특정 값을 할당하여, 구체화된 문제를 instance (of the problem)라고 한다.
  4. instance의 답을 solution (to an instance of a problem)이라고 한다.
  5. 문제의 모든 instance의 solution을 제공해주는 단계별 절차(=step-by-step procedure)를
    algorithm (for the problem)이라고 한다.

이번 카테고리에서는,

  1. 알고리즘을 만들 때 사용되는 접근법 즉, 기술에 대해 살펴볼 것이다.
  2. 각 접근법을 활용해 만들어진 유명한 알고리즘에 대해 살펴볼 것이다.
  3. 마지막으로, 각 알고리즘의 (시간 및 공간) 성능 분석을 할 것이다.