CS공부

Array와 Linked List의 차이

눈찜질 2023. 4. 14. 19:07

ArrayLinked List 둘 다 데이터를 저장하는 자료 구조입니다.

 


Array

Array는 배열 요소가 연속적으로 저장된 공간을 사용하여 데이터를 저장합니다.

요소들은 인덱스를 사용하여 액세스되며 이러한 구조 때문에 Array는 빠른 읽기 속도를 가집니다.

그러나, Array의 크기는 고정되어 있고 요소를 삽입하거나 삭제할 때 더 많은 메모리 공간이 필요할 수 있습니다.

다시 말해 고정된 크기를 가지고 있으며, 크기를 변경하려면 메모리를 다시 할당해야합니다.

처음 주소를 알고 있다면 그 이후의 노드에 대한 주소를 알 수 있습니다.

 



Linked List

Linked List는 각 요소가 다음 요소에 대한 포인터를 포함하는 노드로 구성되어 있습니다.

포인터를 통해 다음 요소로 이동하기에 삭제와 삽입이 쉽습니다. 

하지만, 특정 요소에 액세스하려면 처음부터 탐색을 시작해야 하므로 읽기 속도가 느립니다.

 


Array와 Linked List 특성에 다른 서로 다른 차이는 다음과 같습니다.

  Array Linked List 
메모리 공간 연속적으로 사용, 고정된 크기, 변경시 메모리 재할당 연속적 사용X,  동적으로 추가&제거
요소 접근 방법 인덱스 포인터

 

최종 정리를 하자면

따라서, Array는 읽기 작업이 빠르며, 요소를 추가하거나 제거할 필요가 없는 경우에 유용합니다.

반면 Linked List는 읽기 작업이 보다 느리지만, 데이터를 추가&삭제하는 작업에 있어 유용합니다.