[자료구조] Linked List(연결 리스트)

Taeha Kim·2020년 9월 1일
0

Data Structure&Algorithm

목록 보기
8/9
post-thumbnail

공부하면서 본문 내용을 계속 추가 할 예정

Linked List

  • Linked List는 선형 자료구조입니다.

  • Linked List는 Node로 이루어져 있으며, 각 Node는 데이터 값다음 Node를 가리키는 포인터로 이루어져 있습니다. 그러므로 Linked List는 Array나 List처럼 원하는 index로 접근하여 값을 가져오는 것이 불가능합니다.

  • Linked List에서 원하는 값을 가져오려면 첫 번째 요소부터 원하는 값을 찾을때까지 순서대로 확인 해야 합니다.

  • 비록 원하는 값을 찾기 위해서 무조건 첫 번째 Node부터 순서대로 확인해야 하지만
    Array나 List와는 달리 물리 메모리를 연속적으로 사용하지 않아서 관리하기가 쉽습니다.

Linked Lists와 Array의 차이점 정리

Linked ListsArray
Index가 없다.Index가 존재한다.
next 라는 pointer 로 각 Node가 연결되어 있어서
Insertion / Deletion 이 빠르다.
Insertion / Deletion 이 느리고 비효율적이다.
Index로 원하는 값에 바로 접근 할 수 없다.Index로 원하는 값에 바로 접근이 할 수 있다.

Linked List의 종류

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List

Singly Linked List

Node

Node에는 데이터 값과 다음 Node를 가리키는 pointer를 가지고 있습니다.

  • Head
    head는 Linked List의 시작 Node입니다.
  • Tail
    tail은 Linked List의 마지막 Node입니다. 가리킬 대상이 없어서 NULL 을 담고 있습니다.
profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글