Data Structure(자료구조)
1.자료구조란 무엇인가 ?
- 자료구조란 데이터에 편리하기 접근하고 조작하기 위한 데어티를 저장하거나 조직하는 방법이다.
- 자료구조 종류에는 여러가지가 있다. 하지만 모든 목적에 부합하는 자료구조는 없기에 각각의 자료구조가 갖는 장점과 한계를 이해하고 상황에 맞는 자료구조를 선택하고 사용하는 것이 중요하다.
2.왜 자료구조를 사용해야하는가
- 여성들이 화장품을 담기에 효율적인 것은 ? 캐리어? 백팩? 에코백? 파우치?
정답은 파우치이다. 캐리어는 많은 양의 짐을 한번에 이동시켜야 하는 여행시 효율적인 가방이다.
- 이처럼 자료구조란 상황과 문맥에 맞게 데이터를 담을 수 있는 적절한 구조이다.
화장품을 담기 위해 캐리어를 사용하는 것은 큰 수고를 불러오는 것처럼 데이터에 맞는 적절한 자료구조를 사용하는 것은 전체 개발 시스템이 큰 영향을 끼친다.
3. 자료구조의 분류
1) Primitive Data Structure(단순 구조)
: 프로그래밍에 사용되는 기본 데이터 타입
2) 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(Python에서는 List)
- Tuple
- Set
- Dictionary
- Stack & Queue
- Tree