알고리즘이란?
- 해결해야 할 어떤 문제가 주어졌을 때, 이 문제의 해답을 구하기 위한 절차를 순서대로 명확하게 나타낸 것.
- 동일한 문제에 대해서 다른 전략을 사용하는 다양한 알고리즘이 가능하며, 효율성 또한 차이가 클 수 있음.
- 컴퓨터에서의 알고리즘은 특정한 일을 수행하는 명령어들의 집합.
알고리즘의 조건
- 입력(Well-defined inputs)
- 0개 이상의 입력을 가지며, 모호하지 않고 잘 정의된 입력이어야 한다.
- 출력(Well-defined outputs)
- 명확하게 정의되어야 하며, 1개 이상의 출력을 반드시 가져야 한다.
- 명확성(Clear and unambiguous)
- 각 명령어의 의미는 모호하지 않고 명확해야 함.
- 유한성(Finite-ness)
- 한정된 수의 단계 후에는 반드시 종료되어야 함. (무한루프나 이와 유사한 상태로 끝나서는 안 됨)
- 유효성(Feasible)
- 명령어들은 미래에 개발될 기술과 같이 현재 실행 불가능한 연산이면 안됨.
알고리즘의 표현 방법
- 영어나 한국어와 같은 자연어를 이용하는 방법
- 흐름도(Flow Chart)로 표시하는 방법
- 유사 코드(pseudo-code)로 기술하는 방법
- 프로그래밍 언어(C, C++, Phthon 등)의 코드로 표현하는 방법
파이썬 알고리즘
현대 사회를 살아가고 있는 우리에게 ‘알고리즘’은 더 이상 낯선 단어가 아닙니다. 알고리즘이 컴퓨터 분야에서 코딩과 소프트웨어 개발을 위한 핵심이지만 체계적으로 생각하는 방법을 다
book.naver.com
'Programming > Algorithm' 카테고리의 다른 글
점근적 성능 분석 방법 (0) | 2021.10.12 |
---|---|
알고리즘 효율성 (0) | 2021.10.10 |
기본적인 자료구조 (0) | 2021.10.07 |
문제의 유형들 (0) | 2021.10.06 |
문제 해결 과정 (0) | 2021.10.06 |