- datatype
- graphlib
- 자료구조는 왜쓸까
- 검색을 효과적으로 하기 위해서
- graph
- 노드와 간선으로 이루어진 자료구조
- tree
- tree 는 graph 의 한종류
- 루트 노드로 부터 방향성이 있는 그래프 구조
- heepqueue
- 이진트리 기반의 최소 힙 자료구조를 제공
- insert 속도가 느리다
- 우선순위 큐 알고리즘에 쓰인다
- FIFO 와 달리 우선순위에 따라 우선순위가 높은것이 먼저 나오는 것
- 왜 쓸까
- sort 하면서 집어넣는다
- 최소 값을 빨리 찾아 낼 수 있다.
- 필요 할 때 마다 가장 작은거를 꺼내서 써야 할 때 pop 으로 사용한다.
- bisect
- 배열 이진 분할
- 이진 탐색을 쉽게 구현하는 함수
- array
- 하나의 타입만 넣을 때 사용
- weakref
- 파이썬은 객체를 생성할 때 시스템 콜을 한다.
- stack 메모리를 사용하는 함수, 변수는 메모리 관리를 할 필요가 없다
- 하지만 instance 를 생성하는 constructing 작업을 하면 heap 메모리 영역에 할당한다.
- python 의 GC 는 reference counting 을 이용해서 참조가 0인 메모리 영역을 free 해준다.
- 힙메모리에 ref memory 를 제대로 삭제를 못하면 memory leak 이 발생한다.
- enum
- iterator
- iterable
- 어떤 데이터를 하나씩 반환할 수 있는 object
__iter__
메소드를 가지고있는것
__iter__
메소드를 가진다고 해서 모든게 iterator 라고 할 수는 없다.- iterator
- 데이터를 순차적으로 호출 할 수있는 object
- 내가 class 를 iterator 로 작성해서, for 문에 넣고 싶을 때 사용한다.
- iterable
- functools
- wrap
- operator
- 내가짠 class 를 operator 를 이용해서 동작을 할 수 있게 한다.
- class
- 자료구조를 핸들링하기 위한 메소드 를 묶어놓은것