연결 리스트(Linked List)


연결 리스트(Linked List)

데이터 구조의 한 종류로 여러개의 값을 저장하기 위한 구조
데이터와 포인터가 한 쌍으로 구성된 것이 특징으로, 포인터가 다음 데이터의 메모리 위치를 가리킨다.

linked_list

리스트에선 데이터가 메모리상의 떨어진 영역에 흩어져서 저장된다.
흩어져 저장돼 있으므로 포인터를 처음부터 순서대로 따라가야만 원하는 데이터에 접근할 수 있다.

데이터의 추가는 추가할 위치의 앞뒤 포인터를 변경만 하면 되므로 간단하다고 볼 수 있다.

시간복잡도

Linked List
AccessO(n)
Insert/Remove from beginningO(1)
Insert/Remove from endO(n)
Insert/Remove from middleO(n)

ref