• 검색 결과가 없습니다.

알고리즘

N/A
N/A
Protected

Academic year: 2021

Share "알고리즘"

Copied!
16
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

2019 년 봄학기 강원대학교 컴퓨터과학전공 문양세

알고리즘 (Algorithm)

 개요 (Overview)

(2)

알고리즘 ?

Overview of Algorithms

무엇을 배울 것이라 생각하고 왔나요 ?

 알고리즘 ? 순서도인가 ? 무엇에다 쓰는 것이지 ?

 수학도 쫌 필요하다는데 , 많이 어렵진 않을까 ?

 여러분은 알고리즘을 어떻게 생각하고 수강신청 했나요 ?

(3)

알고리즘 개요 및 응용 분야

과목 개요

전산학 (Computer Science) 의 필수 과목

Divide & Conquer, Dynamic Programming, Greedy Method, Backtracking, …

 프로그램을 보다 효율적으로 , 보다 지능적으로 작성하기 위하여 꼭 필요한 과목

 전산학자의 대부분은 새로운 방법이나 이론을 알고리즘으로 기술함

알고리즘의 응용 분야

모든 프로그램의 설계

문제 및 해결 방법의 정형적 표현

프로그램의 효율성 및 복잡도 분석

 Algorithms + Data Structures = Programs

Overview of Algorithms

(4)

강의 계획 (1/3)

선수 과목 (Prerequisites)

자료구조

담당 교수

문양세 (http://cs.kangwon.ac.kr/~ysmoon/, ysmoon@kangwon.ac.kr)

한빛관 303 호실 , x8449, ysmoon@kangwon.ac.kr)

강의 교재

도경구 역 , Foundations of Algorithms Using C++ Pseudocode, 사이텍미디어 - 원저자 : Richard Neapolitan and Kumarss Naimipour

- Java 버전 : Foundations of Algorithms Using Java Pseudocode

Overview of Algorithms

(5)

강의 계획 (1/3)

선수 과목 (Prerequisites)

자료구조

담당 교수

문양세 (http://cs.kangwon.ac.kr/~ysmoon/, ysmoon@kangwon.ac.kr)

한빛관 303 호실 , x8449, ysmoon@kangwon.ac.kr)

강의 교재

도경구 역 , Foundations of Algorithms Using C++ Pseudocode, 사이텍미디어 - 원저자 : Richard Neapolitan and Kumarss Naimipour

- Java 버전 : Foundations of Algorithms Using Java Pseudocode

Overview of Algorithms

(6)

강의 계획 (2/3)

평가 기준 ( 아래 평가 비율은 일부 조정될 수 있습니다 .)

알고리즘은 암기과목이 아닙니다 . 외우지 말고 , 이해하세요…

중간시험 30%

기말시험 40%

숙제 20% (3 개 개인별 과제 , 2 개 조별 과제 , 프로그래밍 과제 )

출석 10%

강의 계획

Week

강의 내용 비고

1

기초 수학 복습

Appendix A

2

알고리즘 : 효율 , 분석 , 그리고 차수

Ch. 1

3

알고리즘 : 효율 , 분석 , 그리고 차수

Ch. 1

4

분할정복 (Divide & Conquer)

Ch. 2

5

분할정복 (Divide & Conquer)

Ch. 2

6

동적 프로그래밍 (Dynamic Programming)

Ch. 3

7

동적 프로그래밍 (Dynamic Programming)

Ch. 3

8

중간시험

Overview of Algorithms

(7)

강의 계획 (3/3)

강의 계획 ( 계속 )

기타 사항

강의 사이트 : http://cs.kangwon.ac.kr/~ysmoon/courses/2019_1/alg.html ( 강의 슬라이드 / 과제는 이루리 사이트에도 함께 올립니다 .)

숙제 제출 관련 : 제출 기한 이후에 제출하면 20% 감점

숙제 종류 : 레포트 및 프로그래밍

 조별 과제의 경우 , 숙제를 조별로 assign 하고 , 발표 기회를 부여할 예정임

Week

강의 내용 비고

9

탐욕적인 방법 (Greedy Method)

Ch. 4

10

탐욕적인 방법 (Greedy Method)

Ch. 4

11

되추적 (Backtracking)

Ch. 5

12

되추적 (Backtracking)

Ch. 5

13

분기한정 (Branch-and-Bound)

Ch. 6

14

분기한정 (Branch-and-Bound)

Ch. 6

15

기말시험

Overview of Algorithms

(8)

알고리즘 ? 전공필수래 ~

정말로 너무 중요한 과목입니다 .

알고리즘 과목은 많은 학교에서 전공필수로서 3 학년 때 수강합니다 . 일반적으로 , 프로그래밍 언어와 자료 구조 ( 데이터 구조 ) 를 배운 이후 에

알고리즘 과목을 전공필수로 수강합니다 .

 취업 시 , 필기시험의 대부분 문제는 알고리즘에서 출제됨

Overview of Algorithms

(9)

알고리즘 ? 전공필수래 ~ 정말 ?

Overview of Algorithms

(10)

정보올림피아드 vs. 알고리즘

Overview of Algorithms

(11)

ACM 프로그래밍 경진대회 …

Overview of Algorithms

(12)

전산과 졸업생과 비트스쿨 수료생이 다른 이유 ?

컴퓨터학원 수료생도 프로그램은 짤 줄 안다 .

 전산과 졸업생은 프로그램을 효율적으로 짤 줄 안다 . 컴퓨터학원 수료생도 메모리를 사용할 줄 안다 .

 전산과 졸업생은 메모리를 효율적으로 ( 조금만 ) 사용할 줄 안다 .

Overview of Algorithms

(13)

삼성의 S 직군 ?

Overview of Algorithms

(14)

그러니까 , 조금 어렵더라도…

열심히 배우도록 합시다 .

여러분도 미래의 마크 주커버그가 될 수 있습니다 .

Overview of Algorithms

(15)

알고리즘은 이제 일상속으로 ~

Overview of Algorithms

(16)

알고리즘 ?

Overview of Algorithms

컴퓨터에서 논리적 사고의 토대를 제공함

 논리적 사고뿐 아니라 효율적 해결책을 찾을 수 있습니다 .

 멋진 프로그래밍을 하기 위한 핵심 기술을 배울 수 있습니다 .

 검색 , 정렬 , 동적 프로그래밍 등 고급진 기술을 익히게 됩니다 .

자 ~ 한 학기 알고리즘 열심히 공부해 봅시다 !

참조

관련 문서

The proposal of the cell theory as the birth of contemporary cell biology Microscopic studies of plant tissues by Schleiden and of animal tissues by Microscopic studies of

We first evaluate the performance of the aforementioned four VNE algorithms by setting a fixed maximum number of virtual nodes  as 10 and a fixed link connectivity rate  as

and an improvement set of extragradient-type iteration methods in [5], we in- troduce new iteration algorithms for finding a common of the solution set of an equilibrium problem

• Divide & Conquer방법의 근본 원리는 주어진 문제에서 입력 의 크기가 큰 것을 다루는 것보다는 입력을 작은 크기로 분할 해서 해결하는 방법이다.. 이 방법의

Naimipour, Foundations of Algorithms using Java... 알고리즘 설계의 전체 목차 알고리즘

This book contains hundreds of complete, working examples illustrating many common Java programming tasks using the core, enterprise, and foun- dation classes APIs.. Java Examples

It considers the energy use of the different components that are involved in the distribution and viewing of video content: data centres and content delivery networks

After first field tests, we expect electric passenger drones or eVTOL aircraft (short for electric vertical take-off and landing) to start providing commercial mobility