프로그래밍을 하면 다양한 데이터를 마주한다. 이러한 데이터의 특징을 고려하여 저장하는 방법을 자료구조(data structure)라고 한다. 자료구조는 특징이 있는 정보를 메모리에 효율적으로 저장하고 관리한다.
그렇다면 Python에서의 자료구조는 어떨까?
앞에서 배운 리스트도 이에 해당되며, 이외의 자료구조는 아래 6개로 나뉜다.
스택(stack) : 나중에 들어온 값을 먼저 나갈 수 있게 해주는 자료구조 (last in first out)
큐(queue) : 먼저 들어온 값을 먼저 나갈 수 있도록 해주는 자료구조 (first in first out)
튜플(tuple) : 리스트와 같지만, 데이터 변경을 허용하지 않는 자료구조
세트(set) : 데이터의 중복 허용없이, 수학의 집합 연산을 지원하는 자료구조
딕셔너리(dictionary) : 키(key)와 값(value) 형태의 데이털르 저장하는 자료구조, 키값은 다른 데이터와 중복하지 않는다.
collections 모듈 : 위의 스택, 큐, 퓨틀, 세트, 딕셔너리를 효율적으로 사용할 수 있는 파이썬 내장(built-in)모듈
- 출처 : 인프런 강의 - 기초부터 실무까지 part 3, 제 10장 자료구조
(실제 자료구조를 구현하는 방식은 컴퓨터 공학과의 한 학기 수업 분량에 해당된다. 하지만, 본 포스팅에서는 강의 절차에 따라 간략하게 설명될 예정이다.)
+ 참고 : 본 카테고리의 모든 글들은 인프런강의의 <python 기초부터 실무까지> 강좌들을 정리 및 2차 가공한 내용이다. 참고바란다.
다음 포스팅부터 하나하나 차례로 살펴보겠다.
'Python > Coding Base' 카테고리의 다른 글
18. 튜플(Tuple)과 세트(Set) (0) | 2022.02.06 |
---|---|
17. 스택(Stack)과 큐(Queue) (0) | 2022.02.06 |
15. 리스트(List) 4 - 다양한 리스트 알고리즘 (0) | 2022.01.30 |
14. 리스트(List) 3 - 리스트 함축(list comprehensions) (0) | 2022.01.30 |
13. 리스트(List) 2 - 얕은 복사, 깊은 복사 (0) | 2022.01.30 |