자료구조란

YSB·2024년 3월 4일

1. 자료구조란?

자료구조란 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것이다. 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적, 체계적으로 구분하여 표현한 것을 말한다.

2. 자료구조를 배우는 이유

데이터를 체계적으로 저장하고, 효율적으로 활용하기 위해서 자료구조를 사용한다.

대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있다.

  • 많은 자료구조를 알아두면, 특정 문제를 해결하는 데에 상황에 가장 적합한 자료구조를 빠르게 찾아 데이터를 정리하고 활용하여문제를 빠르고 정확하게 해결할 수 있다.
  • 이것은 문제 해결 능력을 필요로하는 알고리즘과 굉장히 밀접한 연관성이 있다.
  • 결국 문제해결을 하기 위해서 배운다.

3. 데이터(data)는 무엇일까?

데이터는 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값이다.

> 이름, 나이, 키, 집 주소, 목소리, 유전자 DNA까지 데이터로 분류할 수 있다.**

데이터는 그 자체만으로 어떤 정보를 가지기 힘들다.

> 예를 들어 나이라는 데이터만 알고 있다면, 사람의 나이인지, 강아지의 나이인지, 나무의 나이인지 알 수 없다.**

데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있다.
데이터를 사용하려는 목적에 따라 형태를 구분하고, 분류하여 사용한다.

👉 서로 다른 형태의 데이터를 하나의 방법으로만 정리하고 활용한 예시

모든 숫자를 전화번호부를 작성할 때처럼, 숫자를 3개 또는 4개씩 묶음짓고 하이픈(-)으로 합치는 것은 잘못된 활용이다.거리를 구하거나 다섯 자리가 넘는 숫자를 보관할 때는 하이픈(-)이 필요하지 않다.

✅ 필요에 따라 데이터의 특징을 잘 파악(분석)하여 정리하고, 활용해야 한다.

데이터를 정해진 규칙없이 저장하거나, 하나의 구조로만 정리하고 활용하는 것보다데이터를 체계적으로 정리하여 저장해두는 게, 데이터를 활용하는 데 있어 훨씬 유리하다.

선배 개발자들은 무수한 상황에 데이터를 효율적으로 다룰 수 있는 여러 방법들이 연구해두었다.

👉 무수한 상황의 예시

번호를 다 알지 않아도, 이름을 아는 것만으로 전화를 할 수 있는 방법은 무엇이 있을까?웹 브라우저에서 뒤로 / 앞으로 가는 방법은 무엇이 있을까?게임 매칭을 잡을 때, 수많은 사람들을 통제하는 방법엔 무엇이 있을까? …등등

❗️자료구조의 종류와 구분

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

profile
즐거운하루!

0개의 댓글