본문 바로가기

컴퓨터 공학/알고리즘

알고리즘 공부를 시작하며

 

 

알고리즘 공부를 시작하기에 앞서 알고리즘이 무엇이고, 그 필요성에 대해 알아보겠습니다.


알고리즘이란

위키백과에서는 알고리즘을

  • 계산을 수행하거나 일련의 문제를 해결하기 위해 사용되며,

  • 컴퓨터로 구현 가능한,

  • 잘 정의된 명령어의 유한한 집합

이라고 정의합니다.

간단하게는 컴퓨터 공학에서 알고리즘이란 컴퓨터 프로그램 성능과 자원 활용에 대한 이론적인 연구를 의미합니다.


알고리즘 공부의 필요성

한정된 자원을 가지고 최고의 성능을 내기 위해서는 최적의 알고리즘을 선택하는 것이 중요합니다. 적절한 알고리즘을 선택하기 위해서는 어떤 알고리즘이 존재하고, 각 알고리즘의 실행 시간 및 자원 활용 정도를 계산할 수 있어야 합니다. 

그래서 다음 글부터 다양한 알고리즘의 성능과 자원 활용에 초점을 맞추어 알고리즘 이론을 공부하고 직접 구현을 해보도록 하겠습니다.

일고리즘 공부를 통해서는 다음과 같은 요소들을 공부하고 분석해야 합니다. 

 

  • Problem solving : 알고리즘을 이용해 어떻게 문제를 해결할 것인지

  • Running time : 알고리즘의 실행 시간은 얼마나 걸리는지

  • Characteristics : 알고리즘의 특징

  • Memory Issue 


 

 

다음 글에서는 가장 기본적인 알고리즘인 정렬 알고리즘에 대해 이야기 해보겠습니다.