Reading
Array, LinkedList 특징, 차이점, 장단점
박은유
2024. 4. 3. 20:58
반응형
Array(배열)
#특징
- 원소를 순서대로 저장합니다.
- 인덱스를 사용하여 각 원소에 접근할 수 있습니다.
- 크기를 미리 지정해야 하며, 크기를 변경하기 어렵습니다.
#장점
- 원하는 위치의 데이터를 빠르게 검색하거나 변경할 수 있습니다.
- 메모리 상에 연속적으로 저장되어 있기 때문에 캐시 효율이 좋습니다.
#단점
- 크기를 변경하기 어렵습니다. 크기를 변경할 때마다 새로운 배열을 할당하고 이전 데이터를 복사해야 합니다.
- 삽입, 삭제 작업이 비효율적입니다. 중간에 원소를 추가하거나 삭제할 경우 해당 위치 이후의 모든 원소를 이동해야 합니다.
LinkedList(연결 리스트)
#특징
- 각 원소는 데이터와 다음 노드를 가리키는 포인터로 이루어져 있습니다.
- 크기를 미리 지정할 필요가 없으며, 동적으로 크기를 조정할 수 있습니다.
#장점
- 중간에 원소를 추가하거나 삭제하는 작업이 효율적입니다. 단순히 노드의 포인터만 조정하면 되기 때문입니다.
- 동적으로 크기를 조정할 수 있습니다.
#단점
- 특정 인덱스의 원소에 접근하기 위해서는 처음부터 해당 인덱스까지 순차적으로 탐색해야 합니다.
- 메모리 상에 각 노드가 흩어져 있기 때문에 캐시 효율이 좋지 않을 수 있습니다.
!정리
Array(배열) : 빠른 데이터탐색과 캐시 효율이 좋으나 크기 조정이 어렵고 중간 삽입/삭제가 비효율적입니다.
LinkedList(연결 리스트) : 중간 삽입/삭제가 효율적이고 동적으로 크기 조정이 가능하지만 데이터탐색이 느리며 캐시 효율이 낮을 수 있습니다.
반응형