○ 알고리즘이란?

- 주어진 문제를 해결하기 위한 방법을 추상화(무엇인가를 논리적으로 정의하는 것)하여 일련의 단계적 절차를 논리적으로 기술해 놓은 명세서
- 효과적인 알고리즘이 되기 위한 조건
ⓐ 입력(input) : 알고리즘 수행에 필요한 자료가 외부에서 입력되어야 함
ⓑ 출력(output) : 알고리즘 수행 후 하나 이상의 결과를 출력해야 함
ⓒ 명확성(definition) : 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은
                               명확하게 명세 되어야 함
ⓓ 유한성(finiteness) : 알고리즘은 수행 뒤에 반드시 종료되어야 함
ⓔ 효과성(effectiveness) : 알고리즘의 모든 명령어들은 기본적이며 실행 가능해야 함


○ 알고리즘의 표현
1. 순서도를 이용한 도식화 표현 방법
- 순서도(flow chart)의 작성 규칙에 따라 도식화
- 복잡한 알고리즘을 나타내기에는 효과적이지 않음

2. 가상코드(pseudo-code)를 이용한 추상화 표현 방법
- 알고리즘 기술 언어(ADL, Algorithm Description Language)
- 특정 프로그래밍 언어가 아니면서 프로그래밍 언어의 형태를 갖춤
- 직접 실행할 수는 없지만, 특정 프로그래밍 언어로 변환하기 쉬움

* 지정문
변수 ← 값;
지정문에 사용할 수 있는 식 : 산술식, 부울식, 문자식 등 모든 연산식

* 조건문
if문
if(조건식) then 명령문1;                or            if(조건식 1) then 명령문1;
              else 명령문2;                               else if (조건식 2) then 명령문2;
                                                                      else 명령문3;

case문
case{
              조건식 1 : 명령문 1;
              조건식 2 : 명령문 2;
                          ....
              조건식 n : 명령문 n;
              else       : 명령문 n+1;
        }


*반복문
for문
for(초기값;조건식;증감값) do 명령문;

while-do문
while(조건식) do 명령문;

do-while문
do 명령문;
while (조건식);


*함수문
함수이름(매개변수)
     명령문;
      ....
     return 결과값;
end



*출처 - C로 배우는 쉬운 자료구조(이지영 저, 한빛미디어) 
 
Posted by 클로버,,