Skip to content

Latest commit

 

History

History
24 lines (14 loc) · 2.02 KB

datastructure.md

File metadata and controls

24 lines (14 loc) · 2.02 KB

자료구조란?

자료구조의 예시로는 큐, 스택, 연결 리스트, 트리 등이 있습니다.
사전적인 의미로는 자료(Data)의 집합을 의미하며,
"각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것" 이라고 합니다.
그렇다면 자료구조를 사용하는 목적은 무엇일까요
목적은 명확합니다. 자료를 효율적으로 저장하고 관리하기 위해 사용되며 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있습니다.
한 마디로 정리를 하자면
서비스나 어플리케이션에서 필요한 데이터를 메모리에 어떻게 구조적으로 잘 정리해서 담아두고, 관리하고
최종적으로 가장 효율적인 방식으로 필요한 데이터를 빠르게 접근하고 필요한 수정 삽입 삭제를 할 수 있도록 도와줍니다.

자료구조 분류

  • 선형 자료구조(Linear Data Structure)
    데이터가 일렬로 연결된 형태라고 보면 됩니다.
    우리가 흔히 쓰는 int[] 배열같은 것이라 생각하면 쉽습니다.
    선형 자료구조는 대표적으로 리스트(List)와 트리(Tree)가 있습니다.
  • 비선형 자료구조(Nonlinear Data Structure)
    선형 자료구조의 반대입니다.
    데이터가 일렬로 나열된 것이 아닌, 각 요소가 여러개의 요소와 연결 된 형태를 생각하면 됩니다.
    쉽게 생각해서 거미줄 같다고 보면됩니다.
    대표적인 비선형 자료구조는 그래프(Graph)와 트리(Tree)가 있습니다.
  • 기타, 집합
    선형,비선형 자료구조에 포함되지 않는 자료구조인 집합(Set)이 있습니다.
    보통 기타 자료구조 또는 집합 자료구조로 봅니다.
    집합의 경우는 데이터가 연결 된 형식이 아닙니다.