Page 18 -
P. 18

1.2.1  자료 구조 연산                                                                   1


                    배열 같은 자료 구조의 성능을 알려면 코드가 자료 구조와 일반적으로 어떻게 상호작용하는지 분
                    석해야 한다.                                                                           자료 구조가 중요한 까닭

                    대부분의 자료 구조는 네 가지 기본 방법을 사용하며, 이를 연산이라 부른다. 연산은 다음과 같다.

                       ●   읽기: 읽기는 자료 구조 내 특정 위치를 찾아보는 것이다. 배열에서는 특정 인덱스의 값을
                         찾아보는 것을 뜻한다. 가령 인덱스 2에 들어 있는 물건을 찾는 게 배열 읽기의 예다.

                       ●   검색: 검색은 자료 구조 내에서 특정 값을 찾는 것이다. 배열에서는 특정 값이 배열에 들어
                         있는지, 만약 그렇다면 어떤 인덱스에 있는지 알아보는 것을 뜻한다. 예를 들어 "dates"가

                         식료품 목록에 있는지, 어떤 인덱스에 있는지 알아보는 게 배열 검색이다.

                       ●   삽입: 삽입은 자료 구조에 새로운 값을 추가하는 것이다. 배열이라면 배열 내에 슬롯을 더
                         만들어 새 값을 추가하는 것을 뜻한다. 앞선 쇼핑 목록에 "figs"를 추가하는 게 배열에 새
                         값을 삽입하는 예다.

                       ●   삭제: 삭제는 자료 구조에서 값을 제거하는 것이다. 배열에서는 배열의 값 중 하나를 제거하
                         는 것을 뜻한다. 예를 들어 예제의 식료품 목록에서 "bananas"를 제거하는 게 배열 삭제다.

                    1장에서는 각 연산을 배열에 적용했을 때 얼마나 빠르게 수행되는지 알아본다.






                    1.3      속도 측정                                DATA STRUCTURES AND ALGORITHMS






                    그렇다면 연산의 속도를 어떻게 측정할까?

                    이 책에서 오직 한 가지만 배워야 한다면 바로 이 점을 기억하자. 연산이 얼마나 “빠른가”를 측정
                    할 때는 순수하게 시간 관점에서 연산이 얼마나 빠른가가 아니라 얼마나 많은 단계가 필요한지를
                    논해야 한다.

                    2부터 100 사이의 짝수를 출력하는 예제에서 이미 한 번 알아봤다. 두 번째 버전의 함수가 첫 번
                    째 버전보다 단계가 절반밖에 걸리지 않아 더 빨랐다.





                                                                                                  031
   13   14   15   16   17   18   19   20   21   22   23