자료란?

현실 세계에서 관찰을 통해 얻은 사실로 어떤 측정을 통해 얻은 처리되지 않은 단순 value이다.
ex) 온도, 점수, 키…

자료구조란?

컴퓨터 과학에서 효율적인 접근 및 수정을 가능하게하는 자료의 집합으로 각 원소들 사아의 관계가 논리적으로 정의된 일정한 규칙에 의해 나열되며 자료를 효율적으로 처리하기 위해 조직적/체계적으로 표현한 것이다.

자료구조를 사용해야하는 이유

메모리의 용량 절약 및 프로그램 실행 시간 단축을 위해 데이터를 관리하여 효율적으로 사용하기 위함이다.

선택 기준

  • 자료의 처리시간
  • 자료의 크기
  • 자료의 활용 빈도
  • 자료의 갱신 정도
  • 프로그램 용의성

자료구조의 특징

  1. 효율성: 문제에 맞는 자료구조를 사용해 효율적으로 처리
  2. 추상화: 복잡한 자료, 모듈, 시스템등으로 부터 핵심 개녕/기능을 간추려 내는 것으로 어느 시점에 데이터를 어떻게 처리할 것인가에 초점을 둔다.
  3. 재사용: 다양한 프로그램에서 동작할 수 있다.

자료구조 종류

  • 단순 구조: 기본 데이터 타입
    ex) int, char, string…
  • 선형 구조: 자료를 순차적으로 나열 시킨 형태로 자료의 전후관계가 1:1로 이루이져있다.
    ex) Array, Linked List, Stack, Queue…
  • 비선형 구조: 하나의 자료 뒤에 여려개의 자료가 있는 구조로 전후관계가 1:n 또는 n:m으로 이루어져있다.
    ex) Graph, Tree
  • 파일 구조: 서로 관련된 필드로 구성된 레코드의 집합인 파일에 대한 자료구조

Comments