연결 리스트(Linked List)
연결 리스트(Linked List)
데이터 구조의 한 종류로 여러개의 값을 저장하기 위한 구조
데이터와 포인터가 한 쌍으로 구성된 것이 특징으로, 포인터가 다음 데이터의 메모리 위치를 가리킨다.
리스트에선 데이터가 메모리상의 떨어진 영역에 흩어져서 저장된다.
흩어져 저장돼 있으므로 포인터를 처음부터 순서대로 따라가야만 원하는 데이터에 접근할 수 있다.
데이터의 추가는 추가할 위치의 앞뒤 포인터를 변경만 하면 되므로 간단하다고 볼 수 있다.
시간복잡도
Linked List | |
---|---|
Access | O(n) |
Insert/Remove from beginning | O(1) |
Insert/Remove from end | O(n) |
Insert/Remove from middle | O(n) |