Repository logo Repository

1. 개요 및 저장 구조

데이터의 저장 방식과 메모리상의 배치 형태에 따른 근본적 차이.


2. 연산별 시간 복잡도(Time Complexity) 비교

메모리 구조의 차이로 인해 각 연산의 효율성이 상이하게 나타남.

연산(Operation) Array Linked List 설명
조회 (Lookup) O(1) O(n) Array는 임의 접근(Random Access)이 가능함.
삽입/삭제 (중간) O(n) O(1) Linked List는 포인터 변경만으로 작업 수행 가능함.
삽입/삭제 (끝) O(1) O(1) 두 구조 모두 마지막 원소 처리는 효율적임.

3. 메모리 할당 및 관리 체계

시스템 자원 활용 방식의 차이.


4. 추가 정리

Q. 어느 상황에 Linked List를 쓰는 것이 유리한가?

Q. 어느 상황에 Array를 쓰는 것이 유리한가?


정리


출처

  1. Pat Morin, Open Data Structures - Array-Based Lists https://opendatastructures.org/versions/edition-0.1e/ods-java/2_Array_Based_Lists.html
  2. Pat Morin, Open Data Structures - Linked Lists https://opendatastructures.org/versions/edition-0.1e/ods-java/3_Linked_Lists.html
  3. MIT OpenCourseWare 6.006, Data Structures and Dynamic Arrays https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/resources/lecture-2-data-structures-and-dynamic-arrays/

« Array
APT Commands »