
연결 리스트 (Linked List)는 "중간에 원소를 삽입 / 삭제할 수 없다."는 배열의 단점을 보완하기 위해 만들어진 자료구조이다.
데이터(Data)와 링크 / 포인터(Link / Pointer)로 구성된 노드(Node)들이 일렬로 연결되어 있는 선형 자료구조이다.
데이터의 크기가 자주 변하거나 데이터의 추가 / 삭제가 빈번하게 일어나는 경우 사용하기 적합하다.
각 노드가 다음 노드를 가리키는 포인터만 가지는 연결 리스트이다.
이전 노드에 대한 정보가 없으므로 역방향 탐색이 불가능하다.
각 노드가 다음 노드에 대한 포인터 뿐만 아니라 이전 노드를 가리키는 포인터도 가지고 있는 연결 리스트이다.
역방향 탐색은 가능해졌지만 이전 노드 포인터로 인해 추가적인 메모리 오버헤드가 발생한다.
테일 노드의 포인터가 헤드 노드를 가리키는 순환 구조를 가지는 연결 리스트이다.
연결 리스트 - 위키백과
[자료구조] C - 연결리스트(linkedlist) - 1. 단순연결리스트
[Java/자료구조] 선형구조 - 연결 리스트 이해하기 : 단순, 이중, 순환 연결리스트
연결리스트 (Linked List)
1-5. [자료구조이론] Linked List (연결 리스트)