Study
data-structure
01 Data Structure

자료구조란?

  • 다수의 자료(data)를 담기위한 구조
  • 데이터의 수가 많아질수록 효율적인 자료구조가 필요하다
  • 예시) 학생 수가 1,000,000명 이상인 학생 관리 프로그램

자료구조와 알고리즘

  1. 효율적인 자료구조 설계를 위해 알고리즘 지식이 필요하다
  2. 효율적인 알고리즘을 작성하기 위해서 문제 상황에 맞는 적절한 자료구조가 사용되어야 한다.
  3. 프로그램을 작성할 때 자료구조와 알고리즘 모두 고려해야 한다.

자료구조의 종류

  1. 선형 구조(linear data structure)
  • 배열(array)
  • 연결 리스트(linked list)
  • 스택(stack)
  • 큐(queue)
  1. 비선형 구조(non-linear data structure)
  • 트리(tree)
  • 그래프(graph)

선형 자료구조

  • 선형 자료구조는 하나의 데이터 뒤에 다른 데이터가 하나 존재하는 자료구조다.
  • 데이터가 일렬로 연속적으로(순차적으로) 연결되어있다.
  • 예시) 배열, 연결 리스트(linked list), 스택(stack), 큐(queue), 덱(deque)
  • [1] → [2] → [3] → [4]

비선형 자료구조

  • 비선형 자료구조는 하나의 데이터 뒤에 다른 데이터가 여러 개 올 수 있는 자료구조다.
  • 데이터가 일직선상을 연결되어 있지 않아도 된다.
  • 예시) 트리(tree), 그래프(graph)