Reading

Array, LinkedList 특징, 차이점, 장단점

박은유 2024. 4. 3. 20:58
반응형

Array(배열)

#특징

 - 원소를 순서대로 저장합니다.

 - 인덱스를 사용하여 각 원소에 접근할 수 있습니다.

 - 크기를 미리 지정해야 하며, 크기를 변경하기 어렵습니다.

 

#장점

 - 원하는 위치의 데이터를 빠르게 검색하거나 변경할 수 있습니다.

 - 메모리 상에 연속적으로 저장되어 있기 때문에 캐시 효율이 좋습니다.

 

#단점

 - 크기를 변경하기 어렵습니다. 크기를 변경할 때마다 새로운 배열을 할당하고 이전 데이터를 복사해야 합니다.

 - 삽입, 삭제 작업이 비효율적입니다. 중간에 원소를 추가하거나 삭제할 경우 해당 위치 이후의 모든 원소를 이동해야 합니다.

 

LinkedList(연결 리스트)

#특징

 - 각 원소는 데이터와 다음 노드를 가리키는 포인터로 이루어져 있습니다.

 - 크기를 미리 지정할 필요가 없으며, 동적으로 크기를 조정할 수 있습니다.

 

#장점

 - 중간에 원소를 추가하거나 삭제하는 작업이 효율적입니다. 단순히 노드의 포인터만 조정하면 되기 때문입니다.

 - 동적으로 크기를 조정할 수 있습니다.

 

#단점

 - 특정 인덱스의 원소에 접근하기 위해서는 처음부터 해당 인덱스까지 순차적으로 탐색해야 합니다.

 - 메모리 상에 각 노드가 흩어져 있기 때문에 캐시 효율이 좋지 않을 수 있습니다.

 

!정리

Array(배열) : 빠른 데이터탐색과 캐시 효율이 좋으나 크기 조정이 어렵고 중간 삽입/삭제가 비효율적입니다.

LinkedList(연결 리스트) : 중간 삽입/삭제가 효율적이고 동적으로 크기 조정이 가능하지만 데이터탐색이 느리며 캐시 효율이 낮을 수 있습니다.

반응형