Data Structure 개념의 필요성, 다양한 자료구조에 대해 알아보자.
1. What is Data Structure?
- 자료구조란 데이터를 저장하거나 조직하는 방법이다. 데이터에 편리하게 접근하고 조작하기 위해 알아야 한다.
- 각각의 자료구조가 갖는 장점과 한계를 이해하고 상황에 맞게 자료구조를 사용해야 한다.
- 자료구조는 언어별로 (JavaScript, Python...) 지원하는 양상이 다르다.
2. Why Data Structure?
화장품을 담기 위해서 캐리어를 꺼내는 것은 너무 낭비이고, 선풍기를 담기 위해서 파우치를 꺼내는 것은 너무 부족하다. 데이터에 맞는 적절한 자료구조를 사용하는 것은 전체 개발 시스템에 굉장히 큰 영향을 미친다.
"코딩은 알고리즘과 자료구조, 이 두가지로 이루어진다." - 리누스 토르발스
3. 자료구조의 분류
- Primitive Data Structure (단순구조)
: 프로그래밍에서 사용되는 기본 데이터 타입
- None-Primitive Data Structure (비단순구조)
: 단순한 데이터를 저장하는 구조가 아닌 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료구조
-- Linear Data Structure (선형구조)
: 저장되는 자료의 전후 관계가 1:1 (ex. List, Stacks, Queues)
-- Non-Linear Data Structure (비선형 구조)
: 데이터 항목 사이의 관계가 1:n 또는 n:m (ex. Graphs, Trees)
4. 일반적으로 자주 사용되는 자료구조
- Array (파이썬에서는 List)
- Tuple
- Set
- Dictionary
- Stack & Queue
- Tree