Page 9 -
P. 9

컴퓨터 코드를 조금이라도 작성해 보면 프로그래밍이 데이터를 주로 다루는 것
                  임을 곧 알 수 있다. 컴퓨터 프로그램은 데이터를 입력받아 조작하고 반환하는
                  게 전부다. 두 수의 합을 계산하는 간단한 프로그램이든, 회사 전체를 관리하는
                  기업용 소프트웨어든, 소프트웨어는 데이터에 관한 것이다.

                  데이터는 일반적으로 모든 유형의 정보를 망라하는 용어이며 가장 기초적인 수
                  와 문자열로 이뤄진다. 간단하지만 고전적인 “Hello World!” 프로그램을 떠올

                  리면 "Hello World!" 문자열이 바로 데이터다. 매우 복잡한 데이터라도 대개
                  는 수와 문자열 묶음으로 나뉜다.
                  자료 구조란 데이터를 조직하는 방법이다. 다음의 코드를 살펴보자.


                  x = "Hello! "
                  y = "How are you "
                  z = "today?"

                  print(x + y + z)


                  문자열 세 개를 하나의 메시지로 이어 출력하는 매우 간단한 프로그램이다. 위
                  프로그램이 데이터를 어떻게 조직했는지 다음과 같이 설명해 볼 수 있다. 문자
                  열 세 개가 있고, 각 문자열은 변수 하나씩 연결되어 있다.

                  이 책은 단순히 데이터를 조직하는 방법이 아니라 데이터 조직이 코드의 실행 속
                  도에 미치는 영향이 크다는 것을 가르치고자 한다. 데이터를 어떻게 조직하는
                  가에 따라 프로그램은 수십 수백 배 더 빠르게 혹은 더 느리게 실행될 수 있다.

                  대량의 데이터를 처리해야 하는 프로그램이나 수천 명이 동시에 사용하는 웹
                  앱을 개발한다고 가정하자. 여러분이 선택한 자료 구조가 소프트웨어가 잘 실
                  행될지 혹은 처리량을 감당할 수 없어 멈춰버릴지를 결정할지도 모른다.

                  우리가 소프트웨어를 문제없이, 빠르게 실행할 수 있는 명쾌한 코드를 작성하
                  는 능력을 갖추고 소프트웨어 공학자가 가져야 하는 전문성을 키우려면 다양한
                  자료 구조를 알고, 각각의 자료 구조가 개발 중인 프로그램의 성능에 어떤 영향

                  을 미칠지 확실히 이해하고 있어야 한다.




              020





         algorith06.indd   20                                                  2018-06-25   오전 10:32:02
   4   5   6   7   8   9   10   11   12   13   14