2018년 9월 6일 목요일

알고리즘 기초 사항들

코딩을 하면서, 알고리즘의 내용 중에 항상 상기하는 것을 적어본다.

입력과 출력, 그리고 작업
"알고리즘이란 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것이다." [참고] 
여기서 핵심은 입력과 출력이다. 코딩하기 전에 입력과 출력에 대해서 정리를 해야한다.

수학적 귀납법
"귀납적 사고라는 것은 성격이 같지만 크기가 다른 문제간의 '관계'를 파악하는 것이다"[참고]
알고리즘을 생각할 때, 자신보다 작은 시작은 1개의 입력으로 부터 N개로 나아가면서 알고리즘을 완성해간다.

알고리즘의 수행시간
"알고리즘의 수행시간은 입력의 크기에 대해 시간이 어떤 비율로 소요되는지로 표현한다"[참고] 
완성된 알고리즘의 수행시간을 파악하여, 알고리즘 최적화 여부를 판단한다. 입력이 크거나 수행시간의 영향력이 크다면, 다른 알고리즘을 찾아야한다.

참고: 쉽게 배우는 알고리즘 관계 중심의 사고법 - 문병로 저. 1-1

댓글 없음:

댓글 쓰기