알고리즘(라틴어, 독일어 :Algorithmus, 영어: algorithm 알고리듬, IPA: )은
수학과 컴퓨터 과학, 언어학 또는 관련분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것을 말한다.
출처 :
알고리즘은 음식의 레시피와 비슷하다.(같은 것은 아님)
요리의 재료를 이용해 레시피의 방법으로 요리한 다음, 요리를 완성한다.
입력을 이용해 알고리즘으로 문제를 해결하고, 정답을 출력한다.
다익스트라(Dijkstra), 프림(Prim), 크루스칼 (Kruskal)처럼 이름이 붙어있는 것만 알고리즘은 아니다.
어떤 문제를 해결하는 방법을 모두 알고리즘이라고 할 수 있다.
많은 개발은 어떠한 문제를 해결해야 하는 것이 목적인 경우가 많다.
알고리즘 문제는 상대적으로 대부분의 개발보다 크기가 작다.
문제도 다른 분야의 특정 문제를 알고리즘 문제 스타일로 변형하는 경우가 많다.
코딩 테스트나 인터뷰에서는 문제를 모델링하고 해결하는 능력을 알아보기 위해서 알고리즘 문제를 푼다.
어떤 알고리즘의 원리와 증명을 이해하는 것은 중요하지만 응용하는 것이 더 중요하다.