저장소 logo 저장소

1. Dynamic Array의 정의


2. 리사이징(Resizing)과 Doubling

배열의 크기를 동적으로 확장하는 핵심 메커니즘.


3. 분할상환 시간복잡도 (Amortized Time Complexity)

가끔 발생하는 비싼 연산 비용을 빈번한 저렴한 연산들이 나누어 가짐으로써 평균 비용을 산출하는 개념.


4. Dynamic Array vs Linked List 비교

구분 Dynamic Array Linked List
데이터 접근 인덱스를 통한 Random Access (O(1)) 처음부터 순차적으로 탐색 (O(n))
끝부분 추가/삭제 매우 빠름 (O(1)) 포인터 변경만으로 가능 (O(1))
중간 삽입/삭제 데이터 시프트(Shift) 발생으로 느림 (O(n)) 노드 연결 변경으로 상대적 빠름 (O(1))
메모리 효율 연속된 공간 사용 및 리사이징 시 낭비 발생 가능 필요할 때마다 할당하나 포인터 저장 공간 추가 필요

추가 정리

Q. Dynamic Array의 결정적인 단점은?

핵심 정리


« Array
Linked List »