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

Romy·2021년 12월 13일
0

자료구조

목록 보기
5/8
post-thumbnail

✅ 구조

  • 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조
  • 데이터의 물리적 배치를 사용하지 않는 데이터 구조
  • Index나 위치보다 참조 시스템 사용

✅ 용어

  • 노드(Node) : 데이터 저장 단위. 데이터값+포인터로 구성
  • 포인터(Pointer) : 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간

✅ 장점

  • 새로운 요소들의 추가 및 삭제가 용이하고 효율적
  • 미리 데이터 공간을 할당하지 않아도 됨
    • cf) 배열처럼 연속적으로 메모리 위치 X
    • cf) 배열처럼 구조의 재구성 필요 X
  • 동적인 메모리 크기
  • 메모리를 더 효율적으로 쓸 수 있어 대용량 데이터 처리에 적합

✅ 단점

  • 연결을 위한 별도 데이터 공간이 필요하므로 저장공간 효율이 높지 않음
    • cf) 배열보다 메모리를 더 사용
  • 처음부터 끝까지 순회하기 때문에 원하는 값을 비효율적으로 검색
  • 노드는 반대방향으로 검색할 때 비효율적

✅ 사용

  • 메모리의 크기가 정해져 있지 않을 때
  • 데이터를 연속적으로 빠르게 삽입/제거가 필요할 때
  • 이미지 뷰어, 갤러리
  • 음악 플레이어

✅ 종류

  • 싱글 링크드 리스트 (Single Linked List)
  • 더블 링크드 리스트 (Double Linked List)

    : 이중연결리스트라고도 함.
    : 양 방향으로 연결되어 있어 노드 탐색이 양쪽으로 모두 가능
profile
👩‍💻 IT Engineering

0개의 댓글