자료구조&알고리즘

자료구조와 알고리즘의 이해

CalebHong 2022. 2. 9. 14:02

알고리즘의 개요

알고리즘의 조건

- 입력 : 0개 이상의 입력이 존재해야 한다.

- 출력 : 1개 이상의 출력이 존재해야 한다.

- 명백성 : 각 명령어의 의미는 모호하지 않고, 명확해야 한다.

- 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 한다. cf) OS는 무한루프로 실행됨

- 유효성 : 각 명령어들은 실행 가능한 연산이어야 한다.

 

알고리즘의 기술 방법

- 자연어로 표기(영어, 한국어 등)

  o 읽기 쉬움

  o 단어들을 정확하게 정의하지 않으면 의미 전달이 모호

- 흐름도(Flow Chart)

  o 직관적이고 이해하기 쉬운 알고리즘 기술 방법

  o 그러나 복잡한 알고리즘의 경우, 상당히 복잡해짐

- 유사코드(Pseudo-code-개념적인 코드)

  o 알고리즘의 고수준 기술 방법

  o 자연어보다는 더 구조적인 표현방법

  o 프로그래밍 언어보다는 덜 구체적

  o 알고리즘 기술에 가장 많이 사용

- 프로그래밍 언어(C, C++, etc)

  o 알고리즘의 가장 정확한 기술이 가능

  o 실제 구현 시 많은 구체적인 사항들이 알고리즘의 핵심적인 내용에 대한 이해를 방해됨

 

'자료구조&알고리즘' 카테고리의 다른 글

알고리즘 분석  (0) 2022.02.11
자료구조와 알고리즘  (0) 2022.02.11
추상 데이터형  (0) 2022.02.10
수학적 귀납법  (0) 2022.02.10
자료구조를 위한 수학  (0) 2022.02.09