관리자 글쓰기
'Algorithm'에 해당되는 글 1건
  1. [알고리즘] 알고리즘이란? 그리고 추상화의 이해 1 2020.05.19

 Algorithm. 알고리즘은 간단하게 얘기하면 문제를 해결하는 절차이자, 문제의 처리 방법을 체계적으로 기술한 것입니다.

알고리즘은 궁극적으로 컴퓨터가 효율적으로 문제를 해결하도록 최적의 프로그램을 작성하는 것이 목표입니다.

 

 

 프로그램이란 실제 세계를 컴퓨터가 이해할 수 있는 형태로 매핑한 것을 의미합니다. 예를들어 '줄을 서 있는 사람들'을 컴퓨터 내에서 '대기열'로 표현할 수 있습니다. 이를 추상화라고 합니다.

 

 추상화(abstraction)는 문제 해결을 위해 복잡한 문제를 단순화 시키고, 다른 문제에도 적용할 수 있게 하는 것입니다. 여기서 추상 자료형(ADT)이라는 개념이 나옵니다. 어떠한 자료의 특성을 논리적으로 추상화하여 정의한 자료형을 추상 자료형이라고 합니다. 이렇게 얘기하면 복잡할 수 있지만 쉽게 예를 들 수 있습니다.

 

 '정수'라는 것은 소숫점 이하 자리수 없이 표현되는 숫자입니다. 이 숫자는 늘어나기도 (+) 줄어들기도 (-) 합니다. 이는 실생활에서 사람의 수나 물건의 개수가 늘어나고 줄어드는 것에 대한 추상화입니다.

 

 

 알고리즘은 앞서 얘기했듯, 최적의 프로그램을 작성하는 것이 목표입니다. 그리고 프로그램은 실제 세계를 컴퓨터가 이해할 수 있는 형태로 바꾼 것(추상화)입니다. 즉, 알고리즘을 공부한다는 것은 이미 많은 사람들이 만들어놓은 추상 자료형을 이해하고, 새로운 문제 해결을 위하여 기존 추상 자료형을 조합하여 새로운 추상 자료형을 정의할 수 있는 능력을 확보하는 것입니다.