'알고리즘'에 해당되는 글 2건

  1. 2008.06.14 성능 분석
  2. 2008.06.07 알고리즘
○ 알고리즘 분석 기준
정확성, 명확성, 수행량, 메모리 사용량, 최적성
좋은 알고리즘이란? 최적의 알고리즘(알고리즘을 적용할 시스템의 사용 환경에 따라
수행량과 메모리 사용량이 달라지기 때문)


○ 알고리즘 성능 분석 방법
1. 공간 복잡도
- 공간 복잡도란?
알고리즘을 프로그램으로 실행하여 완료하기까지 필요한 총 저장 공간을 의미
- 고정 공간 + 가변 공간

2. 시간 복잡도
- 시간 복잡도란?
알고리즘을 프로그램으로 실행하여 완료하는 데 걸리는 시간을 으미
- 컴파일 시간 + 실행 시간
참고] 실행 시간은 같은 프로그램이라도 컴퓨터의 성능에 따라 달라질 수 있기
때문에 실제 실행 시간을 측정하기보다는 명령문의 실행 빈도수를 계산하여 실행
시간을 구한다.  



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











Posted by 클로버,,
○ 알고리즘이란?

- 주어진 문제를 해결하기 위한 방법을 추상화(무엇인가를 논리적으로 정의하는 것)하여 일련의 단계적 절차를 논리적으로 기술해 놓은 명세서
- 효과적인 알고리즘이 되기 위한 조건
ⓐ 입력(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 클로버,,