알고리즘

김명건·2022년 9월 22일
0

테페리넷의 알고리즘 카테고리
crucus의 알고리즘 카테고리

문제를 해결하기 위한 방법, 컴퓨터가 인류의 문제해결 방식을 이해할 수 있도록 지시한 구조가 알고리즘이라고 필자는 이해한다.

컴퓨터는 그저 단순한 연산의 나열을 통해 매번 새로 계산할 번거로움을 줄여 주었고, 그런 방식으로도 거의 모든 수학적 연산을 해결할 수 있었지만, 큰 단위의 연산이나 복잡한 수식이 연결되는 연산의 경우는 한정된 컴퓨터의 자원으로 해결할 수 없는 문제였고, 인간보단 컴퓨터의 관점에서 연산의 효율을 극대화하여 적은 물적, 시간적 자원으로 최선의 결과를 얻어내도록 순서와 방법을 기술하는 알고리즘이 등장하게 되었다.

복잡한 계산을 사람의 손이 아닌 컴퓨터가 대신하는 현대에서는 보다 복잡한 계산의 결과를 얻기 위해, 그리고 보다 적은 자원으로 보다 빠른 결과를 얻기 위해 알고리즘의 영역은 발전해왔다. 컴퓨터에게 연산을 부탁하기 위한 데이터는 0과 1로 이루어져 있지만, 기술의 발전으로 숫자와 문자, 그리고 이미지와 소리에 이르러 인간이 인식할 수 있는 모든 범위의 데이터화가 진행되고 그에 따른 알고리즘의 영역도 변하게 되는데, 당면한 문제에 처리해야 할 데이터의 분류에 따라 효율적인 알고리즘 또한 바뀌게 된다.

개발자는 당연히 문제를 해결할 때에 효율적인 결과를 내놓아야 한다는 것을 부정할 수 없고, 그러므로 우리는 알고리즘을 학습하고 적재적소에 사용할 수 있어야 할 것이다.

필자는 본신의 힘만으로는 수학적 지식이나 알고리즘의 영역에 통달하기 어렵다고 판단하여, 쉽고 간단하게 정리되어 이해하기 쉬운 여러 레퍼런스의 도움을 받아 스스로의 진전에 보태기로 하였다.

0개의 댓글