알고리즘 (Algorithm)
- 문제를 해결하는 절차
- 입력, 출력, 유한성, 명백성, 효과성을 맘족해야 함
- 분석을 통해 좋고 나쁨을 평가할 수 있다.
- 기초 프로그래밍과 자료 구조를 공부한 이후에 배우면 좋음
- 논리이며 수학이고 실질적인 개발에 적용되는 기초적인 아이디어
알고리즘 (Algorithm) 사용
- 개발의 전체 과정
- 프로그램을 개발할 때 효율적인 알고리즘을 적용함으로써 원하는 결과를 도출해야 함
- 스케쥴 관리 프로그램 : 달력에서 특정한 달에 해당하는 일 수는 어떻게 구할까?
- 내비게이션 프로그램 : 여러개의 중간 지점을 거쳐서 특정 지점으로 갈 때 가장 빠른 길은?
- 게시판 프로그램 : 한 페이지당 게시글을 10개씩 출력해야 하는데 어떻게 출력?
알고리즘 (Algorithm) 공부하는 이유
- 프로그래머에게 피할 수 없는 숙명
- 세계적으로 알고리즘과 관련한 대회 및 기관은 정말 많다.(ACM-ICPC,구글 코드잼, 코드포스, 정보올림피아드)
- 개발을 할 때는 높은 난이도의 알고리즘은 거의 사용 X
- 기업 채용이나 각종 대회에서는 문제 해결 능력을 보기 위해서 어려운 알고리즘 문제를 제시
- 알고리즘 문제는 종합적인 개발 역량을 평가하기에 좋은 용도