Page 14 -
P. 14

1.1      알고리즘이란 무엇인가?
                                                              A LG O RI T HM  &  D AT A  S TR U CT UR E S





               알고리즘(algorithm)이란 문제를 푸는 방법, 절차를 말합니다. 이렇게 말하면 일상생활과 관련이

               없는 어려운 개념처럼 느껴지겠지만, 실제로 알고리즘은 우리와 무척 가깝습니다. 간단한 예로 나
               이 맞히기 게임을 생각해 봅시다.


                 나이 맞히기 게임

                 처음 만난 A 씨의 나이를 맞혀 봅시다. A 씨가 20세 이상 36세 미만이라는 건 알고 있습니다.

                 A 씨에게 ‘예, 아니오로 대답할 수 있는 질문’을 네 번 할 수 있습니다. 질문이 끝나면 A 씨가
                 몇 살인지 추측해서 대답합니다. 맞히면 당신의 승리, 틀리면 당신의 패배입니다.

                 과연 나이 맞히기 게임에서 이길 수 있을까요?


               그림 1-1처럼 A 씨 나이는 20, 21, ..., 35살 사이의 16개 숫자 중 하나입니다. 바로 생각할 수

               있는 방법은 “예”라는 답을 들을 때까지 “20살입니까? 21살입니까? 22살입니까?”와 같이 순서대
               로 계속 물어보는 방법입니다. 하지만 이 방법으로 정답을 맞히려면 최악의 경우 16번을 물어봐
               야 합니다. 만약 A 씨가 35살이라면 16번째 질문인 “35살입니까?”라는 질문에 마침내 “예”라고
               대답하겠죠. 질문 가능한 횟수가 네 번이므로 이 방법으로는 게임에서 이기기가 어렵습니다.


                  그림 1-1 나이 맞히기 게임


                      դ ݻ ࢓ੌөਃ


                                   ઺ী
                      ׹੉ ੓णפ׮

















         030
   9   10   11   12   13   14   15   16   17   18   19