Page 12 -
P. 12

함 수 를  호 출 한 다.

                        일 부  알 고 리 즘 은  반 환 할  출 력  결 과 를  명 시 적 으 로  생 성 하 지  않 는 다.  그  대 신 에  알 고 리 즘 의  연 산 이
                        일 부  프 로 그 램  문 맥 에  영 향 을  미 친 다.  예 를  들 어,  알 고 리 즘  결 과 를  기 록 할  공 간 을  만 들  수  있 다.   1
                        이 때  알 고 리 즘 은  통 상 적 인  출 력  결 과 를  반 환 하 지  않 지 만,  어 쨌 든  프 로 그 램 에  영 향 을  미 친 다.  일 부   주
                                                                                                          가
                                                                                                          스
                        프 로 그 래 밍  언 어 는  명 시 적 으 로  결 과 를  반 환 하 는  명 명 된  프 로 그 램  코 드 를  함 수 로,  결 과 를  반 환 하  팬
                        지  않 지 만  다 른  역 할 을  하 는  명 명 된  프 로 그 램  코 드 를  프 로 시 저 (pr o c e d ur e )로  구 분 하 기 도  한 다.  이
                        러 한  구 분 은  함 수 는  값 을  반 환 해 야  한 다 고  정 의 한  수 학 에 서  유 래 되 었 다.  알 고 리 즘 은  실 제  프 로 그
                        램 으 로  코 딩 될  때  함 수  또 는  프 로 시 저 가  된 다.

                        이  책 에 서 는  의 사  코 드 에 서  의 미 가  분 명 한  키 워 드 들 을  붉 은  글 씨 체 로  표 현 하 고  할 당 은  ←  문 자 를,
                        동 일 함 을  표 현 하 는  데 는  등 호 ( =)를  사 용 한 다.  통 상 적 으 로  다 섯  개 의  기 호( +,  -, /,  ×,  ·) 가  네  가

                        지  수 학  연 산 에  사 용 되 는 데,  곱 셈 을  위 한  기 호 가  두  가 지 이 며  미 학 적  선 택 에  따 라  둘  중  하 나 를  사
                        용 한 다.  의 사  코 드 의  블 록 을  구 분 하 는  데 는  키 워 드 나  기 호 를  사 용 하 지  않 고  들 여 쓰 기 를  사 용 한 다.

                        이  알 고 리 즘 에 서 는  배 열 (arr a y )을  사 용 한 다.  배 열 은  특 정 한  방 식 으 로  데 이 터 를  다 룰  수  있 는  구 조
                        다.  구 조 가  담 고  있 는  데 이 터 에  특 정 한  연 산 을  할  수  있 는  구 조 를  자 료  구 조 (d at a  str u ct ur e)라  한 다.
                        따 라 서  배 열 은  자 료  구 조 다.

                        컴 퓨 터 에 서  배 열 은  사 람 과  일 련 의  객 체 와 의  관 계 와  같 다.  배 열 은  순 서 가  있 는  일 련 의  원 소 들 로  구
                        성 되 고,  이 러 한  원 소 들 은  컴 퓨 터  메 모 리 에  저 장 된 다.  원 소 를  저 장 하 는  데  필 요 한  공 간 을  확 보 하

                        고  n 개 의  원 소 를  저 장 할  수  있 는  배 열 을  만 들 려 고  알 고 리 즘  1 -1 의  1 행 에 서 는  C r e a t e A r r a y   알 고 리
                        즘 을  호 출 한 다.  배 열 을  잘  안 다 면  배 열 을  만 드 는  데  알 고 리 즘 이  필 요 하 다 는  것 이  이 상 하 게  여 겨 질
                        수 도  있 다.  데 이 터 를  저 장 할  메 모 리  블 록 을  얻 으 려 면  최 소 한  컴 퓨 터  내 부 에 서  사 용  가 능 한  메 모 리
                        를  탐 색 하 고  배 열 이  사 용 할  수  있 게  표 시 해 야  한 다.  C r e a t e A r r a y ( n )   호 출 은  이 러 한  작 업 을  수 행 하
                        고  n 개 의  원 소 를  위 한  공 간 을  갖 는  배 열 을  반 환 하 는 데,  초 기  배 열 에 는  원 소 가  없 고  원 소 들 을  수 용

                        할  수  있 는  공 간 만  있 다.  배 열 에  실 제  데 이 터 를  채 우 는  것 은  C r e a t e A r r a y ( n ) 을  호 출 한  알 고 리 즘 이
                        담 당 한 다.

                        배 열  A 에 서  배 열 의  i번 째  원 소 를  A [  i  ] 라  하 고, A [  i  ] 로  해 당  원 소 에  접 근 한 다. A [  i  ] 의 i는  배 열 에 서
                        원 소  위 치 를  나 타 내 며  인 덱 스 (i n d e x)라 고  한 다.  n 개  원 소 로  이 루 어 진  배 열 은  A [0 ], A [1 ],  …, A [n  -
                        1 ] 을  원 소 로  갖 는 다.  첫  번 째  원 소 가 0 이 고  마 지 막  원 소 가 ( n  - 1 ) 인  것 이  이 상 할  수 도  있 는 데,  대
                        부 분  컴 퓨 터  언 어 에 서  배 열 이  작 동 하 는  방 식 이 므 로  익 숙 해 져 야  한 다.  일 반 적 으 로  크 기  n 인  배 열

                        의  반 복  처 리 는  0 부 터  n  - 1 까 지  반 복 한 다.  알 고 리 즘 에 서  반 복 문 의  제 어  변 수 가  숫 자  x 에 서  y 까 지
                        를  값 으 로  취 한 다 고  하 면(   x 는  y 보 다  작 다 고  가 정 할  때)  이 것 은  x 부 터  y 까 지 에 서  y 를  제 외 한  모 든



                                                                                                      0 2 3




         리 얼 월 드  알 고 리 즘( 본 문) 최 종.i n d d    2 3                                               2 0 1 9 - 0 8 - 1 2    오 후  4: 2 7: 0 2
   7   8   9   10   11   12   13   14   15   16   17