뇌 마음 반반저장소

자료구조 (Data Structure) 기본 이해하기 본문

좌뇌/왕초보의 컴퓨터 언어 세계

자료구조 (Data Structure) 기본 이해하기

맹진저 2023. 1. 18. 20:00
728x90

자료구조는 컴퓨터의 세계에서 효율적인 데이터의 접근 및 수정을 가능하게 하는 자료의 조직, 관리, 저장을 의미한다.  더 정확히 말해서, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다.

간단하게 말한다면, 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것이다. 

 

신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 해주기 때문에 이 파트도 그냥 넘어갈 수 없다! 


자료(Data)란?

그렇다면 데이터는 무엇일까? 말 그대로 우리가 입력할 수 있는 모든 값이다.

주소를 예로 들어보자. 파리의 유명한 백화점을 예로 들어보겠다.

 

파리에 위치한 유명한 백화점 "갤러리 라파예트 오스만"의 경도와 위도는 48.873507, 2.332564이다. 우리는 이런 경도와 위도 데이터를 가지고 있다. 하지만 우리는 이 자체만으로 어디인지 한 번에 알 수 없다.

 

데이터는 분석하고 정리하여 활용을 해야만 의미가 생긴다.

그래서 데이터는 사용하려는 목적에 따라 형태를 구분하고 분류하여 사용한다.

 

예를 들어서 우리는 이곳에 약속한 주소 "40 Bd Haussmann, 75009 Paris"를 붙여준다.

그러면 우리는 "아~ 이건 9지역에 있는 Bd Haussmann이라는 길의 40번지에 있구나!"라고 읽을 수가 있다.

 

이 주소체계처럼 데이터의 특징을 잘 파악하고 분석하여 정리하고 활용해야 한다!


자료 구조 (Data Structure)란?

데이터를 효율적으로 다룰 수 있는 방법을 모두 모아서 자료구조라는 이름을 붙였다.

정적, 동적으로도 분리할 수 있지만, 나는 아래의 분리방법으로 정리해 보았다.

자료구조의 구조(?)

일단 자료구조는 크게 기본(Primative)과 기본이 아닌(Non Primative)로 구분된다.

 

기본형(Primative)은 우리가 흔히 쓰는 자료형으로 데이터를 자료형에 맞게 분류해 준다. 

 

기본이 아닌(Non Primative)타입은 데이터의 항목 혹은 그룹의 구조화를 강화해 주는 역할을 한다.

  • 배열(array) : 한가지 유형의 데이터가 연속된 메모리에 위치해 있는 것. 
  • 리스트(linked list) : 리스트는 데이터 항목 모음이다. 다량의 데이터를 가장 단순하게 다룰 수 있다는 장점이 있다.
  • 스택(stack) : 스택은 데이터를 착착 쌓는 후입선출(Last In First Out) 구조이다. 
  • 큐(queue) : 데이터를 나열하는 선입선출(First In First Out) 구조이다.
  • 그래프(graph) : 연결되어 있는 원소 간의 관계를 표현한 자료구조이다.
  • 트리(tree) :  계층적인 자료를 표현하는 데 이용되는 자료구조이다.

 

더 참고하기👇

리스트 더 알아보기 : https://brightwon.tistory.com/3

그래프 개념설명 더 보기 : https://leejinseop.tistory.com/43

알고리즘 선행개념 — 2. 자료구조

728x90
Comments