edwith CS50강의를 보며 정리했습니다.

● 알고리즘

 

컴퓨터는 우리가 컴퓨터에 입력한 자료를 컴퓨터의 처리과정을 통해 출력 형태로 만든다. 즉 명령어들의 순서상 처리가 필요한데 이를 알고리즘이라고 한다. 마치 우리가 아침에 일어나서 양치하고, 밥을 먹고 옷을 입고 외출하는 과정처럼 순서대로 행동이 이루어지는 것과 비슷하다. 어떤 문제를 단계적으로 풀어가는 명령어의 집합이다.

하지만 순서를 잘못 놓는다든가, 비효율적으로 한다면 준비하는 데 시간이 오래 걸릴 것이다. 그래서 효율적으로 움직이기 위해 외출 경로를 바꾼다든가 하는 선택을 하는데, 알고리즘도 마찬가지이다. 알고리즘이 효율적으로 작동하도록 배열한다면 시간과 공간적으로 훨씬 여유있게 명령어가 작동될 수 있을 것이다.

좋은 알고리즘은 효율성이 좋은 알고리즘이다. 

Pseudo Code 수도코드는 알고리즘이나 컴퓨터 프로그램을 C, C++, Java 등의 프로그래밍 언어를 사용하지 않고 표현하는 방법이다. 사람이 쓰는 데 익숙한 언어(영어)를 사용하는데, 이를 통해 알고리즘을 짤 수도 있다. 중요한 것은 알고리즘을 설계할 때, 모든 경우의 수를 고려해야한다는 것이다. 

전화번호부에서 Mike Smith를 찾을 때의 알고리즘을 수도 코드로 표현한다면 위와 같은 알고리즘으로 진행될 것이다.

+ Recent posts