Data Story

데이터 사이언스, 쉽게 설명하기

Computer Science

Computer Science - [Algorithm]

_data 2023. 1. 2. 12:34

Algorithm

- 문제 해결 절차를 체계적으로 기술한 것 (입력으로부터 출력을 만드는 과정 기술)

바람직한 알고리즘

1. 명확성

2. 효율적 

3. 간결성


 

알고리즘 입출력의 예

e.g.입력 : 100개의 변수 (배열) x[1].x[2] ...x[100] , 출력 : x[1], x[2], ...x[100] 중 최대값

 

maxScore(x[], n)
{
x[1,...n]의 값을 차례때로 보면서 최대값을 계산;
return 위에서 찾은 최대값;
}

 

알고리즘 공부의 목적

1. 특정한 문제를 해결하기 위한 알고리즘 습득

2. 체계적 생각 훈련

- 문제자체를 해결하는 알고리즘 학습

- 그 과정에 깃든 '생각하는 방법' 배우는게 중요

3. 미래에 다른 문제를 해결하는 생각의 빌딩블록 제공

- 지적 추상회의 레벨 상승

- 연구나 개발에 있어 정신적 여유를 유지하기 위해

알고리즘 수행시간

- for 루프의 반복, 문장이 수행되는 횟수, 함수의 호출 횟수...

- 상수 시간 비례, n에 비례, n^2에 비례, n^3에 비례

'Computer Science' 카테고리의 다른 글

Computer Science - [Handling combined exclusive sets]  (0) 2023.01.11
Computer Architecture - [CPU]  (0) 2022.12.18
Computer Architecture - [RAM]  (0) 2022.12.18
Computer Architecture - [VGA]  (0) 2022.12.17
Computer Architecture - [GPU]  (1) 2022.12.17