코딩은 알고리즘과 자료구조로 이루어져 있다.
자료구조가 중요한 이유는 무엇일까?
Array는 가장 기초적이고 단순하지만 가장 자주 사용되는 자료 구조 중의 하나이다.
가장 큰 특징은 순차적으로 데이터를 저장한다는 것인데 이는 삽입한 순서대로 저장된다.
가장 앞의 데이터는 index 0값을 가지며 맨 마지막 요소부터 계산하는 경우에는 -1에서 시작한다.
그러나 Array는 단점이 존재하기도 하는데 중간의 특정 데이터를 삭제하려는 경우 삭제된 요소의 뒤에 있는 데이터들은 모두 한칸씩 앞으로 이동해줘야 한다.
데이터를 추가하는 경우에도 그 뒤의 요소들이 하나씩 밀리게 된다.
이 때문에 Array 방식은 정보가 자주 삭제되거나 추가되는 데이터를 담기에는 적절하지 않다.
배열이 모두 찰 경우 새로운 크기의 메모리를 생성한 다음
→ 기존의 데이터를 복사하고
→ 그 다음부터 데이터가 순차적으로 추가된다는 단점이 있다.
따라서 사이즈 예측이 되지 않는 데이터의 경우 Array를 사용하기에는 적절하지 않다.
그렇다면 Array는 언제 사용하는 것이 좋을까?
데이터가 무슨 의미인지 명확하지 않음
(객체의 경우 키와 값이 쌍으로 매칭되어 있어서 어떤 데이터인지 파악이 쉽지만 Tuple의 경우 괄호 안에 데이터만 담겨있기 때문에 문맥에 맞게 의미를 추측해야 한다.
따라서 Tuple은 소규모 데이터를 다루기에 적합하다.