goal
- What is Data Structure
- Stack & Queue
JS에서 기본적으로 많이 사용하는 자료구조는 배열과 객체가 있다.
배열은 flat한 구조의 데이터를 표현할 때 매우 효과적이다.
하지만, 많은 데이터들은 계층구조 or 트리 형태 or 데이터 간의 연관성을 가지고 있다.
객체는 간단한 mapping 구조로, 서로 연관성을 표현하는 자료구조에 적절하다.
하지만, key&value 값을 효과적으로 저장하고 검색(retrieve)하기에는 어려움이 있다.
문제해결을 위해서 적절한 자료구조를 선택하는 것은, 해당 문제를 해결하는 데 가장 중요한 요소이다.
다양한 자료구조를 통해서 각 자료구조가 어떠한 특징을 가지고 있고, 어떻게 데이터를 처리하는지, 각 자료구조의 장점과 단점, 처리하는 데에 있어서 얼마나 시간적으로 효율성을 가지고 있는지(시간복잡도)를 따져보아야 한다.
자료란?
: 문자, 소리, 그림, 영상 등의 형태로 된 의미 단위 / 의미있게 정리하면 정보가 됨
데이터 타입이란?
: 컴퓨터에 0과 1로 저장되어 있는 데이터를 -> 인간이 사용하는 여러가지 데이터들의 종류로 해석하기 위한 장치 / 따라서, 같은 이진 데이터라도 인간의 해석에 따라 다른 데이터가 될 수 있음
자료구조란?
Stack이란?
:
Queue란?
:
시간/공간 복잡도
big-O 표기법