공부/~~란 무엇인가?

알고리즘이란? 알고리즘 기초공부

신입개발자 2020. 6. 5. 17:25

알고리즘이란?

알고리즘이란, 어떤 문제를 해결하기 위한 자세한 방법입니다.

예를 들어 라면을 만들기 위해서는 냄비에 물을 끓이고, 라면 봉지를 뜯고, 스프와 건더기를 넣고, 면을 넣고, 4분 정도 기다리면 되는데요.

 

여기서 우리가 해결하고 싶은 문제는 라면을 끓이는 것이고, 방금 이야기한 해결 방법이 라면을 끓이는 문제에 대한 알고리즘입니다.

그런데 친구 하나는 스프랑 건더기보다 면을 먼저 넣어야 더 맛있다고 생각합니다. 또 다른 친구는 면을 익히는 중에 면을 살짝씩 위로 들어올려서 공기에 접촉시켜주면 면이 더 탱탱해진다고 주장하네요.

모두 목적은 같은데 방법이 조금씩 다릅니다. 같은 문제를 해결하기 위해서도 다양한 알고리즘이 존재하는 거죠.

좋은 알고리즘이란?

그렇다면 다양한 알고리즘 중에 좋은 알고리즘이란 무엇일까요? 좋은 알고리즘은 두 가지 조건을 충족시켜야 합니다.

  1. 문제를 해결하는 것.
  2. 문제를 더 잘 해결하는 것.

봉지를 뜯지도 않고 봉지째 물에 넣어버리면 라면이 제대로 조리되지 않습니다. 1번 조건을 충족시키지 못하기 때문에, 제대로된 알고리즘이 아닌 거죠.

그런데 라면을 잘 만들더라도 불을 약하게 하거나 해서 시간이 너무 오래 걸리면, 비효율적인 알고리즘이라고 할 수 있습니다. 이번에는 2번을 충족시키지 못하는 거죠.

짧은 시간 안에 라면을 맛있게 만드는 방식이, 라면 끓이기 알고리즘 중에 가장 좋다고 할 수 있겠네요.

 

 

'공부 > ~~란 무엇인가?' 카테고리의 다른 글

인터넷은 어떻게 작동이 되는가?  (0) 2021.05.17
JS(Javascript)란 무엇인가?  (0) 2021.05.16
Bundle란?  (0) 2021.05.15
Git 이란 무엇인가?  (0) 2021.05.12
CSS 와 HTML 이란?  (0) 2021.05.11