Page 10 -
P. 10
1장은 배열과 집합이라는 두 가지 자료 구조를 분석한다. 언뜻 보면 거의 동일
해 보이지만, 앞으로 소개할 도구를 통해 성능에 미치는 영향이 어떻게 다른지
분석해 보자.
1.1 배열: 기초 자료 구조
data structures and algorithms
배열은 컴퓨터 과학에서 기초적인 자료 구조 중 하나다. 이미 배열을 다뤄봤을
테니 배열이 단순히 데이터 원소들의 리스트임을 알 것이다. 배열은 다양한 용
도로 여러 가지 상황에서 유용한 도구로 쓰이지만, 여기서는 간단한 예제 하나
만 다뤄보자.
마트에서 살 쇼핑 목록을 만들고 사용할 수 있는 애플리케이션의 소스 코드를
보는 중이라면 다음과 같은 코드를 찾을 수 있다.
array = ["apples", "bananas", "cucumbers", "dates", "elderberries"]
배열에 들어 있는 다섯 가지 문자열은 마트에서 살 법한 식료품들이다
(elderberries로 테스트해 보자).*
배열의 인덱스는 특정 데이터가 배열의 어디에 있는지 알려주는 숫자다.
대부분의 프로그래밍 언어에서 인덱스는 0부터 시작한다. 예제의 배열도 마찬
가지로 다음 그림처럼 "apples"는 인덱스 0, "elderberries"는 인덱스 4에
있다.
* 역주 물론, 엘더베리가 한국에서 살 법한 식료품은 아니다.
1장 자료 구조가 중요한 까닭 021
algorith06.indd 21 2018-06-25 오전 10:32:02