CS/자료구조

[자료 구조] 동적 배열 vs 연결 리스트

tkxx_ls 2024. 6. 9. 17:47

동적 배열과 연결 리스트의 가장 큰 차이점은 삽입, 삭제, 임의 원소 접근에 드는 시간입니다.

삽입과 삭제를 할 일이 없거나, 배열의 끝에서만 삽입, 삭제를 하면 되는 경우, 동적 배열의 거의 항상 좋습니다.

임의 원소에 빠르게 접근할 수 있으며, 메모리에 연속적으로 배치되어 있기 때문에 CPU 캐시 효율이 높습니다.

 

특정 원소의 삭제가 빈번히 일어나는 경우에는 연결 리스트가 좋습니다.

 

비교 요약

특징 연결 리스트 동적 배열
이전 원소/ 다음원소 찾기 O(1) O(1)
메모리 할당 필요할 때마다 동적 할당 초기 크기 할당 후 동적 증가
접근 속도 O(n) O(1)
삽입/삭제 속도 O(1) (특정 위치) O(n)
메모리 오버헤드 높음 (포인터 저장) 낮음
캐시 적중률 낮음 높음
구현 복잡성 높음 낮음