자료구조

#. 1 Data Structure

Haksae 2022. 3. 9. 02:36

1. Data Structure(자료구조)란?

자료(Data)란 현실 세계로부터 수집한 사실이나 개념의 값 또는 이들의 집합을 의미
가공되지 않은 데이터를 특정한 용도로 사용하기 위하여 처리/가공한 형태의 데이터를 정보(information)이라 한다.
  • 자료구조는 자료의 집합으로서, 각 원소들 사이의 관계가 논리적으로 정의된 일정한 규칙에 의하여 나열하여, 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적, 체계적으로 구분하여 표현한 것을 의미한다.
  • 즉 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미
Q. 어떠한 구조로 데이터를 관리해야하는가? 자료구조의 선택 기준을 무엇으로 잡아야하는가?
  • 1) 자료의 처리 시간, 2) 자료의 크기, 3) 자료의 활용 빈도, 4) 자료의 갱신 정도, 5) 프로그램의 용이성
  • 각자가 처한 상황과 사용하는 데이터가 상이하기에 자료구조에 있어서 정답은 없다. 
  • 그러나 위의 5가지 사항을 고려하여 각 상황과 데이터 특성에 맞는 적절한 자료구조를 만들어야한다.
  • 이는 작업의 효율성, 추상화, 재사용성을 증가시켜 효율적으로 데이터를 처리할 수 있게 한다.

e.g) 효율적으로 데이터를 관리하는 예시

  • 우편번호 : 5자리 우편번호로 국가의 기초 구역을 제공
  • 주민등록번호 : 6자리와 7자리로 국민들의 데이터를 관리
  • 대표적인 자료 구조 : 배열, 스택, 큐, 링크드 리스트, 해수 테이블, 힙 등
  • 수십년간 사람들이 만들어온 자료구조를 익혀야, 새로운 자료구조를 만들고 성장 가능

2. 자료구조의 분류

  • 선형구조
데이터가 연속적으로 연결되어있는 모양으로 구성하는 방법
자료를 구성하는 원소들을 순차적으로 나열시킨 상태

  • 비선형구조
    • 선형구조의 중점이 자료를 저장하고 꺼내는 것이라면, 비선형구조의 중점은 자료의 표현이다.
    • 비선형 자료구조는 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 것을 뜻한다.
    • 자료들이 1:N의 관계를 가지고, 이를 계층 구조로 나타낸다.

 

 

  • 단순구조 : 프로그래밍에서 사용되는 기본 데이터 타입
  • 파일구조 : 서로 관련된 필드들로 구성된 레코드의 집합인 파일에 대한 자료구조

 

 

 

 

 

참고자료

https://andrew0409.tistory.com/148

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=islove8587&logNo=220548856458