Skip to content

[자료구조] 01. 자료구조의 기초

자료구조의 기본 개념, Array, Stack, Queue, Linked List, Hast Table, Graph, Tree


자료구조의 기초

자료구조(Data Structure)란 효율적인 검색(search) 및 검색(retrieve)을 위해 데이터가 저장되는 방식을 말한다.

컴퓨터 공학에서 자료 자체의 형태와 그 자료들에 대한 연산을 정의한 것을 추상적 자료형(Abstract Data Type)이라고 하는데, 이 추상적 자료형을 실질적으로 구현한 것을 자료구조라고 한다.

기본적인 자료구조

다양한 자료구조가 있지만, 그 중 대표적인 자료구조들은 다음과 같다.

  • 배열(Array)
    • 가장 기본적인 자료형으로, 자료를 원소로 취급해 나열한 자료구조
    • 생성 시 원소들에게 부여되는 index를 통해 원소들에게 접근 가능
  • 스택(Stack)
    • 순서가 보존되는 선형 데이터 구조 유형
    • LIFO(Last In First Out) 메커니즘에 따라 데이터를 처리
  • 큐(Queue)
    • 순서가 보존되는 선형 데이터 구조 유형
    • FIFO(First In First Out) 메커니즘에 따라 데이터를 처리
  • 연결 리스트(Linked List)
    • 노드(node, 데이터 묶음)를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장하는 자료구조
  • 해시 테이블(Hash Table)
    • 데이터를 Key - Value 쌍으로 묶어 저장하는 데이터 구조
    • Key를 통해 데이터에 접근할 수 있기 때문에 접근 속도가 매우 빠름
  • 그래프(Graph)
    • 정점(vertex) 사이에 변(edge)이 있는 자료구조
    • 일방통행을 나타내는 Directed graph와 양방향 통행을 나타내는 Undirected graph가 있음
  • 트리(Tree)
    • 그래프가 계층적 구조를 가진 형태의 자료구조
    • 부모 노드와 자식 노드의 연결 구조로 구현

Reference