Python 자료구조 알아보기
목차
- 스택과 큐(Stack & Queue)
- 튜플과 집합(Tuple & Set)
- 사전(dictionary)
- Collection 모듈
day3
기본 자료구조
Stack(스택)
- 먼저 들어간 데이터가 나중에 나오는 구조.
- 선입 후출(
LIFO
) 형식의 자료구조라고 불림 Last In First Out. 계층형식
으로 자료를 처리해야하는 과정에서 주로 사용됨. 앞의 데이터가 뒤에 데이터에 영향을 미치거나 앞의 데이터와 뒤의 데이터가종속적인 관계
를 가질 경우에 사용됨.- EX)
Queue(큐)
- 먼저 들어간 데이터를 먼저 나오는 구조
- 선입 선출(
FIFO
) 형식. First In Last Out. - 시간의 순서나
차례대로
처리해야 하는 경우에 사용됨. - EX)
- 프린터 출력을 할때, 요청이 들어온 순서대로 출력을 하는경우.
- 놀이공원 티켓팅 할때 순서대로 구매하는 경우.
Tuple(튜플)
- 선언 후에 값(Value)의 변경이 불가능한 자료구조
- 리스트 연산, 인덱싱, 슬라이싱 등은 가능함.
- () 갈호를 사용해 선언.
Set(집합)
- 사용시 중복을 없애준다.
- 값을 순서 없이 저장하고 있다.
- .add(), remove(), update(), discard(), .union(), intersection(), difference() Method를 가지고 있다.
Dict(사전)
- key 와 value의 쌍으로 이뤄진 자료구조.
- {“key” : value} 구조, 다른 언어에서 Hash Table이라고도 함.
- dict는 .items(), .keys(), .values() Method를 가지고 있음
Collections
- 파이썬 Built-in 확장 자료 구조(모듈)
- List, Tuple, Dict의 확장판이라고 보면됨, 마치 C++ STL 느낌?
deque
- List에 비해 효율적인 저장방식을 지원함. 메모리구조가 효율적이라서 속도가 list보다 빠름
- rotate, reverse등 Linked List 특성을 지원함
- 기존 list 함수들을 모두 지원.