※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.
http://book.naver.com/bookdb/book_detail.nhn?bid=6984786
1.4 알고리즘이란?
● 알고리즘이란?
- 문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 기술한 것이 알고리즘(algorithm)이다.
- 알고리즘을 프로그래밍 언어로 구현하면 프로그램이 된다.
- 프로그램을 구현하기에 앞서 알고리즘을 고민하고 프로그램을 작성하는 것이 좋은 프로그래머이다.
- 알고리즘을 고안할 땐 해당 문제의 복잡도를 CPU가 바로 실행할 수 있을 정도까지 분해하여야 한다.
- ex) 요리법
● 알고리즘 기술 방법 3가지
- 자연어. 사람들이 일상적으로 쓰는 언어. 영어, 한글 등의 사람과 소통하기 위해 쓰는 언어들이다.
| 1. 빈 그릇을 준비한다. 2. 이스트를 밀가루, 우유에 넣고 저어준다. 3. 버터, 설탕, 계란을 추가로 넣고 섞는다. 4. 따뜻한 곳에 놓아두어 발효시킨다. 5. 170~180도의 오븐에서 굽는다. | cs |
- 순서도. 플로우차트(flowchart) 또는 흐름도라고 하며, 프로그램에서의 논리 순서 또는 작업 순설르 그림으로 표현하는 방법이다. 프로그래머는 항상 순서도를 통해 자신의 논리를 가시화한다.
- 의사 코드(pseudo-code). 자연어보다는 더 체계적이고 프로그래밍 언어보다는 덜 엄격한 언어로서 알고리즘의 표현에 주로 사용되는 코드이다.
| void function fizzbuzz For (i = 1; i<=100; i++) { set print_number to true; If i is divisible by 3 print "Fizz"; set print_number to false; If i is divisible by 5 print "Buzz"; set print_number to false; If print_number, print i; print a newline; } | cs |