CS/edwith: CS50강좌 공부
10. 알고리즘
회뜨는참치
2019. 9. 1. 01:23
반응형
프로그래밍을 시작하면서 '알고리즘'이란 말을 들은 경험이 있다.
뭔가 알고리즘이 간단하고 완벽해야 좋은 프로그램 이라던지.. 문법이나 그런것보단 알고리즘이 더 중요한다던지..
그렇다면 알고리즘이란 뭘 의미하는 것일까?
알고리즘이란?
- 어떤 문제를 해결하기 위한 여러 동작의 모임(간단히 말하자면 문제 해결 방식)
- 입력된 값을 출력으로 바꾸기 위해 컴퓨터가 따르는 일련의 절차를 말한다
- 프로그램을 만들기 위해 C,JAVA같은 컴퓨터 언어로 처리하는 과정이다.
- 예를 들어'홍길동'이란 이름을 찾는 방법이라 할 수 있고, 다른 예로 은행에서 계좌이체를 하기위한 순서인 '번호표 뽑기 -> 해당은행의 통장제시-> 이체할 계좌 말하기 ...'의 과정을 알고리즘이라 한다
이러한 알고리즘을 정의하자면 몇가지 조건을 갖추고 있다.
알고리즘의 처리 조건
1. 입력 : 외부에서 제공되는 자료가 있어야 출력할 수 있다
2. 출력 : 입력된 값이 처리되었다는 결과가 출력되어야 한다
3. 명확성 : 처리과정이 애매하지 않고 명확해야한다.
4. 유한성 : 유한 번의 명령어 수행후(일정 시간이후) 종료해야한다
5. 효율성 : 전 과정은 명백하게 실행 가능 한 것이여야 한다
반응형