List (리스트) 는 순서가 의미가 있다. (1, 2, 3) != (3, 2, 1) Set (집합) 은 순서가 무의미하다. {1, 2, 3} == {3, 2, 1} 리스트를 구현하는 대표적인 두 가지 방법은 배열, 연결리스트 이다. 배열은 앞서 전화번호부를 만들때 배웠으며, 단점은 배열은 크기가 고정되어 있다는 것이다. 따라서 reallocation(재할당) 이 필요했었다. 또한 리스트의 중간에 원소를 삽입하거나 삭제할 경우 다수의 데이터를 옮겨야 하는 단점이 있었다. vs 그러나 연결리스트는 다른 데이터의 이동 없이 중간에 삽입하거나 삭제가 가능하며, 길이 제한이 없다. 하지만 랜덤 엑세스가 불가능하다는 단점이 있다. 배열과 연결리스트의 메모리를 살펴보자. 배열은 데이터들이 연속된 공간에 저장되는 것..