Data Structure(자료 구조)와 Algorithm(알고리즘)

황인용·2020년 1월 12일
0
post-thumbnail

Data Structure 란?

  • 데이터에 편리하게 접근하고, 변경하기 위해 데이터를 저장하거나 조작하는 방법을 말함
  • 모든 목적에 맞는 자료구조는 없다.
  • 자료구조가 갖는 장단점을 확인하고 활용해야한다.
  • 자료구조는 언어별 지원하는 양상이 다르다.
  • 각각의 언어가 가진 자료구조의 사용방법도 중요하지만, 각 자료구조의 본질과 컨셉을 이해하고 활용해야한다

Data Structure의 분류

image.png

  • Primitive Data Structure(단순 자료구조)
    : 프로그래밍에서 사용되는 기본 데이터 타입
    e.g. Integer, Float, String, Boolean

  • Non-Primitive Data Structure(비단순 자료구조)
    : 단순한 데이터를 저장하는 구조가 아니라 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료구조.
    e.g. Array, List, Tuple, Dictionary, Set, File

  • Linear Data Structure(선형 자료구조)
    : 저장되는 자료의 전후관계가 1:1
    e.g. Stack, Queues

  • Non-Linear Data Strucutre(비선형 자료구조)
    : 데이터 항목 사이의 관계가 1:n 또는 n:m
    e.g. Tree, Graphs


Algorithm 란?

  • 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합(사전적 의미)
  • 주어진 문제의 해결을 위한 자료구조와 연산 방법의 대한 선택(프로그래밍적 의미)
  • 어떤 문제에 대해, 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍
    e.g. 백종원의 레시피
profile
dev_pang의 pang.log

0개의 댓글