본문 바로가기

💻 개발자/🤖 Data Structure

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

반응형
자료구조란 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것

 

먼저 데이터(data)는 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값이다. 그러나 데이터는 그 자체만으로 어떤 정보를 가지기 힘들다. 예를 들어 나이라는 데이터만 알고 있다면, 사람의 나이인지, 강아지의 나이인지, 고양이의 나이인지 알 수 없다. 이처럼 데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있다.

 

 

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

 

 

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

 

출처: CODESTATES

선배 개발자들은 무수한 상황에서 데이터를 효율적으로 다룰 수 있는 방법을 모두 모아, 자료구조라는 이름을 붙였다. 이 중 가장 많이 쓰이고 알고리즘 테스트에 자주 등장하는 자료구조는 다음과 같다.

 

Stack, Queue, Tree, Graph

 

대부분의 자료구조는 특정한 상황에 놓은 문제를 해결 하는 데에 특화되어 있다. 따라서 많은 자료구조를 알아두면, 어떠한 상황이 닥쳤을 때 적합한 자료구조를 빠르고 정확하게 적용하여 문제를 해결할 수 있다. 이것은 문제 해결력을 필요로 하는 코딩 테스트와 굉장히 밀접한 연관성이 있다. 특정 문제를 해결하는 데에 적합한 자료 구조를 찾아 데이터를 정리하고 활용할 줄 알면, 상황에 가장 적합하고 정확한 코드를 작성할 수 있다.

 

자료구조가 무엇인지 알았다면 이제 Stack, Queue, Tree, Graph을 각각 알아보도록 하자!

반응형