배열과 연결 리스트
배열 vs 연결 리스트
핵심 차이
| 구분 | 배열 | 연결 리스트 |
|---|---|---|
| 접근 | O(1) 랜덤 접근 | O(n) 순차 접근 |
| 삽입/삭제 | O(n) 시프트 필요 | O(1) 포인터만 변경 |
| 메모리 | 연속 할당 | 분산 할당 |
실무 포인트
- Java
ArrayList는 내부적으로 배열 기반 → 조회가 많으면 유리 LinkedList는 중간 삽입/삭제가 잦을 때 유리하지만, 캐시 지역성이 낮아 실무에선 ArrayList가 대부분 빠름- 면접 키워드: 캐시 지역성(Cache Locality), 시간복잡도 트레이드오프
- Q.배열과 연결리스트의 시간복잡도 차이를 설명해주세요
- Q.ArrayList vs LinkedList 중 어떤 상황에서 뭘 쓰나요?
- Q.캐시 히트율 관점에서 배열이 유리한 이유는?