전 강의에서는 우리가 입력에 대한 표현을 배웠다.
이제는 출력에 대해 이야기해보자.
그렇다면 어떻게 컴퓨터는 입력에서 출력을 얻을 수 있을까??
computing은 입력을 받아 그 입력을 처리한 후 출력하는 과정입니다.
<aside> 💡 알고리즘은 입력(input)에서 받은 자료를 출력(output)형태로 만드는 처리 과정을 뜻한다.
</aside>
알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학(컴퓨터 프로그래밍), 전산언어학 등에서 사용되는, 문제 해결 방법을 정의한 일련의 단계적 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서를 뜻한다.
즉, 알고리즘이란 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열이다.
예를 들어, 전화번호부에서 Mike Smith를 찾는 일을 한다고 합시다. 전화번호부를 집어 들고 첫 페이지를 펼친 후 Mike Smith가 그 페이지에 있는지 찾습니다. 없으면 그 다음 페이지에서 찾습니다. Mike Smith 를 찾을 때까지 혹은 전화번호부가 끝날 때까지 이것을 반복합니다. 하지만 언젠가는 Mike Smith 가 전화번호부에 있다면 이 알고리즘을 통해 Mike Smith 를 찾을 수 있을 것입니다.
알고리즘의 평가할 때는 정확성도 중요하지만, 효율성도 중요합니다.
효율성은 작업을 완료하기까지 얼마나 시간과 노력을 덜 들일 수 있는지에 대한 것입니다.
여러분들이 보시기에도 한 번에 한 페이지씩 보는 알고리즘은 정확하지만, 매우 오래걸리고 비효율적인 알고리즘일 것입니다. 한 번에 두 페이지를 넘기게끔 하여 알고리즘을 개선할 수 있습니다.