[자료구조] 자료구조란?

양진혁·2021년 11월 24일
0

자료구조

목록 보기
1/1

자료구조 (Data Structure)

사전적 의미의 자료구조는 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미한다. 또한 데이터에 편리하게 접근, 변경하기 위해 데이터를 저장하거나 조직하는 방법을 말한다. 문제해결을 위해 여러 형태의 자료구조가 활용되며 그에 따라 다양한 알고리즘이 사용된다.

자료구조 선택 기준

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

자료구조 특징

  • 효율성
    자료구조 사용의 목적은 효율적인 데이터관리 및 사용이다. 따라서 문제에 알맞은 자료구조를 사용한다면 업무 효율성이 증가한다.
  • 추상화
    복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념, 기능을 간추려 내는 것이다.
  • 재사용성
    자료구조를 설계할 때 특정 프로그램에서만 동작하게 설계하지 않는다. 다양한 프로그램에서 동작할 수 있도록 범용성 있게 설계해 다른 프로젝트에서 사용 또한 가능하다.

자료구조 종류

자료구조는 크게 선형비선형으로 나뉜다.
선형 자료구조의 경우 데이터가 일렬로 나열되어 있는 것을 의미한다.
비선형 자료구조의 경우 특정한 형태를 띄는 것을 의미한다.

단순 데이터 구조

  • 정수(int)
  • 실수(float)
  • 문자(char)
  • 문자열(double)

비단순 데이터 구조

선형 구조

  • 배열(Array)

    가장 일반적인 구조이며, 메모리 상에 같은타입의 자료가 연속적으로 저장된다. 자료값을 나타내는 가장 작은 단위가 자료를 다루는 단위이다.
  • 스택(Stack)

    스택은 박스쌓기에 비유할 수 있다. 아래에서부터 위로 차곡차곡 쌓은 후 데이터를 삭제하기 위해서는 위에서부터 먼저 제거해야 한다. 이런 구조를 선입후출 혹은 후입선출 구조라고 한다.

  • 큐(Queue)

    큐는 대기줄과 같이 먼저 온 사람이 먼저 들어가는 것처럼 선입선출 구조를 가지고 있다.

  • 연결리스트(Linked List)

    연결 리스트는 동적 데이터 구조이다. 목록의 노드 수는 고정되어 있지 않으며 필요에 따라 늘리거나 줄일 수 있다. 노드가 다음 노드로 아무것도 가리키지 않으면 리스트의 끝이다.

비선형 구조

  • 트리(Tree)

    부모 노드 밑에 여러 자식 노드가 연결되고, 자식 노드가 다시 부모 노드가 되어 각각의 자식 노드에게 연결되는 재귀적인 형식의 자료구조

  • 그래프(Graph)

    그래프는 노드(Node)와 간선(Edge)로 표현되며 이때 노드를 정점(Vertex)이라고도 한다.

Reference and Image

https://afteracademy.com/blog/introduction-to-data-structure

https://doubleflavor.github.io/2021/01/08/sj-DS-intro/

0개의 댓글