자료구조와 알고리즘/자료구조

자료구조 (Data Structure)

민트초밥 2022. 4. 19. 15:09

개인 공부 목적으로 쓰는 글이기 때문에 틀린 부분이 있을 수 있습니다.

 

 

자료구조(Data Structure)의 정의

Data란 사실(fact)을 나타내는 수치이다. 예를 들면 오늘 아침의 기온, 습도, 날씨, 친구에게 보내는 편지의 말, 사진 속 이미지, 노래의 음표 등 모든 종류의 사실들이 컴퓨터의 데이터가 될 수 있다. 자료구조란 이러한 Data들을 메모리에 구조적으로 정리해서 담아두고, 효율적인 방식으로 필요한 데이터에 빠르게 접근하고 수정, 삽입, 삭제를 할 수 있도록 도와주는 것이다.

 

 

자료구조의 분류

 

 

그림1. 자료구조의 분류

 

  • 단순 구조     : 정수, 실수, 문자, 문자열과 같이 컴퓨터가 기본적으로 제공하는 자료형
  • 선형 구조     : 자료들 상호 간에 1:1 대응 관계가 성립하는 형태, 각 자료들은 앞뒤 관계가 순차적으로 고정되어 유지
  • 비선형 구조 : 자료들 상호 간에 1:n 또는 n:m 대응관계가 성립하는 형태
  • 파일 구조     : 서로 관련이 있는 필드들로 구성된 레코드의 모임

 

 

자료구조 선택 시 고려사항

어떤한 자료구조를 선택하느냐에 따라 필요한 시간, 기억공간의 크기, 프로그램의 간결성, 명확성, 처리 속도  등의 프로그램의 성능이 달라진다. 따라서 사용자는 아래와 같은 사항들을 고려하여 효율적인 자료구조를 선택해야 한다.

  • 자료의 총량
  • 자료를 사용하는 빈도와 그 사용방법
  • 자료의 성향 (정적인 자료 or 동적인 자료)
  • 자료 구조 구현에 필요한 기억 공간의 양
  • 하나의 자료를 찾아내는데 걸리는 시간
  • 프로그래밍의 난이도

 

반응형