Linked List (자료구조)

  1. 배열 특, 인접한 메모리공간을 가지고 있음

    이에 따라 int[] a = new int[100]; 일때 a[i]라고 하면 시작 주소에서 i*4byte(int사이즈)만큼 shift해서 그 메모리값을 찾아내므로 인접해야한다!

    Dynamic memory 의 경우, 바로 아래에 다른 메모리가 쓰고 있다면 충분히 큰 공간으로 이동해서 다시 늘려야하는 문제가 있다! → 매우 비효율적

    ! 가장 최악은 중간에 삭제나 끼워넣어야하는 경우, 아래의 모든 값을 shift해야하는 문제가 있다.

    ⇒ 즉 배열은 큰 자료를 다뤄야하는 것에 대해 매우 부적합한 시스템을 가지고 있다!

  2. 이에 따라 Linked List를 활용하면 효과적으로 문제를 해결할 수 있다 → Linked 구조로 해결

image.png

image.png

List<int> list = new List<int>(); 이런것도 가능함 int로 되어있는 리스트를 리스트화 한 형태 lumped linked list