배열은 컴퓨터 과학에서 가장 기초적인 자료구조이다. 일련의 데이터 요소를 순서대로 저장하는 선형 자료구조로, 동일한 자료형의 요소들이 연속된 메모리 공간에 저장된다. 배열은 인덱스를 사용하여 각 요소에 접근할 수 있고 각 요소는 고유한 인덱스 값을 가지고 있다. 배열의 특징은 다음과 같다.
연결 리스트는 배열과 다르게 연속된 메모리 공간에 저장되어 있지 않다. 각자의 데이터가 메모리 상에 고유한 노드로 존재하며, 자신의 앞, 뒤 데이터 주소를 기억하고 있다. 배열과 마찬가지로 동일한 자료형의 묶음을 저장하기 위해 사용되는 자료구조이다. 배열의 단점이었던 추가/삭제 연산에서의 성능을 보완한다. 데이터 저장 시 메모리에 순서대로 저장하는 것이 아니라 임의의 공간에 넣고 기존 데이터에 부가 정보로 다음 데이터의 주소를 저장한다. 추가/삭제 연산의 시간 복잡도는 O(1)이다. 그러나 검색 연산의 시간복잡도는 배열보다 느린 O(N)이다.
https://kimmeh1.tistory.com/473
https://laboputer.github.io/ps/2017/09/05/array-and-list/