본문 바로가기
부트캠프교육중/알고리즘

자료구조

by 뭉지야 2023. 3. 14.
728x90

#자료구조
-컴퓨터과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다.
-자료구조를 많이 아는 개발자일수록 데이터를 체계적으로 저장하고, 효율적으로 활용할줄 알게된다.
-문제들을 해결하기위해 자료구조를 많이 알게되면 특정 문제를 해결하는데에 가장 적합한 자료구조를 빠르게 찾을수있게 되므로, 문제를 빠르고 정확하게 해결할수있게된다.
-자료구조를 많이 아는 개발자란, 알고리즘 로직 또한 잘 짜는 개발자라고 볼수있을것이다.




#자료구조
-여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한것.

#데이터
-문자, 숫자, 소리, 그림 , 영상 등 실생활을 구성하고 있는 모든 값이다.
-데이터는 그 자체만으로 어떤 정보를 가지기 힘들다.
-데이터는 분석하고 정리하여 활용해야만 의미를 가질수있다.
-데이터를 사용하려는 목적에 따라 형태를 구분하고, 분류하여 사용한다.
-데이터를 정해진 규칙 없이 저장하거나, 하나의 구조로만 정리하고 활용하는 것보다, 데이터를 체계적으로 정리하여 저장해두는게 데이터를 활용하는데 있어 훨씬 유리하다.

 

무수한 상황에서 데이터를 효율적으로 다룰 방법을 모두 모아, 자료구조라고 한다.
이 많은 방법중에서 가장 많이 쓰이고 알고리즘테스트에 자주 등장하는 네가지를 알아보자=> stack, Queue, Tree, Graph

# 자료구조의 특징
-대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는데에 특화되어 있다. 따라서 많은 자료구조를 알아두면, 어떠한 상황이 닥쳤을때 적합한 자료구조를 빠르고 정확하게 적용하여 문제를 해결할수있다.



<Roadmap>
-이미 대표적인 자료구조 중 하나를 써왔다. 그것은 배열. 
-각 자료구조가 가진 특징을 학습한다.
-각 자료구조를 사용하기 적합한 상황을 이해한다.
-다른 자료구조와의 차이점을 이해하기 위해 자료구조 내부를 직접 구현한다.
-자료구조를 구현하며, 자료구조의 동작 원리를 이해한다.

728x90

'부트캠프교육중 > 알고리즘' 카테고리의 다른 글

트리 순회  (0) 2023.03.15
이진트리, 이진탐색트리  (0) 2023.03.15
tree  (0) 2023.03.15
Queue  (0) 2023.03.14
Stack  (0) 2023.03.14