STUDY/자료구조

[자바] 연결리스트(Linked List) 특징과 종류

까미이모 2023. 10. 21. 02:22

연결리스트(Linked List)

각 노드가 데이터와 다음 노드를 가리키는 포인터를 가지고 있으며 포인터로 연결되어 있는 자료구조이다.

  • 데이터를 링크로 연결해서 관리하는 자료구조
  • 자료의 순서는 정해져 있지만, 메모리상 연속성이 보장되지는 않음
  • 노드: data와 다음 노드를 가리키는 포인터를 포함한다.
  • 처음 노드는 head, 마지막노드는 tail
장점
  • 데이터공간을 미리 할당할 필요 없음
  • 데이터 추가/삭제 용이
단점
  • 연결구조를 위한 별도 데이터 공간 필요(링크정보 저장)
  • 연결정보를 찾는시간 필요(메모리상 연속되어있지 않아 느림)
  • 데이터 추가, 삭제시 앞뒤 데이터의 연결을 재구성하는 작업 필요

 

연결리스트의 종류

단일 연결리스트: 각 노드에 다음 노드를 가리키는 포인터가 있다.

양방향 연결리스트: 각 노드에 이전노드를 가리키는 포인터와 다음노드를 가리키는 포인터가 있다.

원형 연결리스트: tail의 다음 노드가 head가 되는 구조로 끝이 없고 순환되는 구조이다.

 

 

 

 

 

 

'STUDY > 자료구조' 카테고리의 다른 글

[Java] 힙(Heap) 자료구조  (1) 2023.10.23
[Java] HashMap 정리  (1) 2023.10.20
선형자료구조 - Array  (4) 2023.10.19
큐(Queue) 자료구조 정리  (0) 2023.10.17
스택(Stack) 정리  (0) 2023.10.17