본문 바로가기
자료구조 & 알고리즘/이론

[자료구조] 자료구조의 정의 & 분류

by ge_ai 2022. 4. 8.

자료구조(Data  Structure)란?

1. 자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미

  • 검색, 순회, 저장, 삭제, 변경

2. 자료를 담는 추상적인 틀

3. 데이터의 형태와 쓰임에 가장 적합한 자료구조를 쓰는 것은 매우 중요

 

 

자료 구조 분류

구현에 따라

  • 배열 : 가장 일반적인 구조, 메모리 상에 같은 타입 자료가 연속적으로 저장
  • 튜플 : 둘 이상의 자료형을 묶음으로 다루는 구조
  • 연결 리스트 : 노드를 단위로 한다. 노드는 자료와 다음 노드를 가리키는 참조값으로 구성
    • 원형 연결 리스트 : 각 노드는 다음 노드를 가리키고, 마지막 노드가 처음 노드를 가리킴
    • 이중 연결 리스트 :  각 노드는 이전 노드와 다음 노드를 가리키는 참조값으로 구성된다. 처음 노드의 이전 노드와 마지막 노드의 다음 노드는 없음
  • 해시 테이블 : 개체가 해시값에 따라 인덱싱 됨

형태에 따라

  • 선형 구조

단순 구조와 자료 간 관계가 1 대 1

  • 스택 : 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out) 자료구조 (후입선출)
  • 큐 : 먼저 들어온 자료가 먼저 처리되는 FIFO(First In First Out) 기반 (선입선출)

비선형 구조

단순 구조와 자료 간 관계가 1 대 다 또는 다 대 다

  • 그래프 : 꼭짓점과 꼭짓점을 잇는 변으로 구성
  • 트리 : 뿌리와 뿌리 또는 다른 꼭지점을 단 하나의 부모로 갖는 꼭짓점들로 이루어진 구조
    • 이진트리(tree)
      • 자식이 최대 2개인 트리
    • 힙(heap)
      • 이진트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조

 

시각화 자료는 'Visu Algo' 참고

 

 

 

[참고] 위키백과 '자료구조'

댓글