알고리즘
횟 수 | 강의 주제 | 세부 내용 | 교재 쪽수 |
---|---|---|---|
1 | 알고리즘 소개(1) |
|
3~19 |
2 | 알고리즘 소개(2) |
|
19~33 |
3 | 분할정복 알고리즘(1) |
|
37~42 47~55 |
4 | 분할정복 알고리즘 (2) |
|
42~47 55~66 |
5 | 동적 프로그래밍 알고리즘 (1) |
|
69~80 |
6 | 동적 프로그래밍 알고리즘 (2) |
|
80~105 |
7 | 욕심쟁이 알고리즘 (1) |
|
109~124 |
8 | 욕심쟁이 알고리즘 (2) |
|
124~149 |
9 | 정렬 알고리즘 (1) |
|
153~170 |
10 | 정렬 알고리즘 (2) |
|
170~180 193~194 |
11 |
정렬 알고리즘 (3) |
|
181~193 195~206 |
12 | 탐색 알고리즘 (1) |
|
209~229 |
13 | 탐색 알고리즘 (2) |
|
229~266 |
14 | 근사 알고리즘 |
|
269~307 |
15 | 정리 |
|
3~307 |
컴퓨터 알고리즘은 전산학의 핵심적인 과목 중의 하나이다. 적절한 자료구조와 적절한 알고리즘이 있어야 좋은 소프트웨어가 작성된다. 따라서 알고리즘에 관한 지식은 컴퓨터의 전 분야에서 기본적이면서도 필수적이다. 따라서 본 과목에서는 지금까지 많이 연구되어 좋은 알고리즘으로 제시된 정렬, 탐색, 그래프 등에 관한 주요 알고리즘의 설계 및 분석 방법의 습득한다. 이러한 과정을 통해서 어떤 것이 좋은 알고리즘이고, 또 어떻게 하면 좋은 알고리즘을 만들 수 있는가에 대한 기본적인 능력을 배양한다. 수학적인 깊은 지식은 요구되지 않으나 체계적이고 논리적이며 분석적인 사고가 필요하므로 스스로 왜 그런지 생각하면서 공부할 필요가 있다.
Computer science is the study of problem solving, so the algorithm is a fundamental and essential part of computer science because it deals with methods and processes for efficiently solving problem. Finding an efficient algorithm to solve a given problem is the first and most important step in computer-based processing, so without an algorithm a given problem cannot be solved using computer. This course focuses on how to design an algorithm to solve a problem, and how to analyze the efficiency of the algorithm. It covers three algorithm design techniques and their algorithms, as well as sorting and search algorithms used in a wide range of applications.