리스트(List)란 무엇인가?

리스트(List)


리스트란, 자료를 순서대로 한 줄로 저장하는 선형 자료구조이다.

  • head: 리스트에서 제일 처음 데이터를 head라고 한다.
  • tail: 리스트에서 제일 마지막 데이터를 tail이라고 한다.


리스트(List)의 종류


리스트는 구현방식에 따라, 다음과 같이 분류된다.

  1. 순차 리스트(Array List): 배열을 기반으로 구현된 리스트
  2. 연결 리스트(Linked List 메모리의 동적 할당을 기반으로 구현된 리스트


ArrayList vs. LinkedList
출처: ArrayList vs. LinkedList

두 리스트의 차이점을 더 자세하게 알고 싶다면, Linked List와 Array의 차이점를 클릭한다.


연결 리스트(Linked List)의 종류


1. Simple Linked List(단순 연결 리스트)


단순 연결 리스트란, 연결의 형태가 한쪽 방향으로 전개되고 시작과 끝이 분명히 존재하는 리스트를 말한다.


Simple Linked List
출처: Simple Linked List


2. Doubly Linked List(이중/양방향 연결 리스트)


이중/양방향 연결 리스트란, 노드가 양쪽 방향으로 연결된 구조의 리스트를 말한다. 즉, 왼쪽 노드가 오른쪽 노드를 가리킴과 동시에 오른쪽 노드도 왼쪽 노드를 가리키는 구조이다.


Doubly Linked List
출처: Doubly Linked List


3. Circular Linked List(원형/환형 연결 리스트)


원형/환형 연결 리스트란, 단순 연결 리스트에서 마지막 노드가 첫 번째 노드를 가리켜서 연결의 형태가 원을 이루는 리스트를 말한다.


Circular Linked List
출처: Circular LinkedList