어디에서 찾을 수 있는 시간 및 공간 복잡도에 내장된 시퀀스 유형에 Python
-
09-06-2019 - |
문제
나를 찾을 수 없는 소스에 대한 이 정보를 짧은 보고를 통해 Python 소스 코드는 자는 방법을 결정하는 개체는 작동합니다.나는 찾을 수 있습이 온라인?
해결책
체크 아웃 TimeComplexity 페이지 py dot org wiki.그것은 커버 설정/dicts/목록/등에서 시간 복잡도 간다.
다른 팁
레이몬드 D.Hettinger 가 다양한 이야기 (슬라이드 에 대해)파이썬에 내장 된 컬렉션'이라는 핵심 Python 컨테이너에서는 두건'.버전을 봤에 주로 초점을 맞추어 set
고 dict
, 하지만, list
었입니다.
거기에는 또한 몇 가지 사진의 관련 슬라이드에서 EuroPython 에 블로그.
요약하면 다음과 같습니다 내 노트 list
:
- 저장소 항목 배열로의 포인터입니다.아래 첨자 비용 O(1)다.에 추가 비용을 청산 O(1)다.삽입하는 비용을 O(n)시간입니다.
- 를 방지하기 위해 시도
memcpy
는 때 성장을 통해 할당하.많은 작은 나열됩니다 많은 공간을 낭비하지만,큰 나열은 결코 낭비상 대 12.5%overallocation. - 일부 작업 pre-크기입니다.예를 받았
range(n)
,map()
,list()
,[None] * n
, 고,슬라이스. - 할 때 축소,배열
realloc
ed 경우에만 낭비의 50%를 공간입니다.pop
이 저렴합니다.
는 경우에 당신의 무엇인지 묻는 내가 생각하는 귀하의 요구,당신은 그들을 찾을 수 있습니다 기...페이지 476 다.
그것의 서면 주위에 최적화 기법에 대한 파이썬;그것은 대부분 Big-O 표기간의 효율성을 높지 않습니다..
제휴하지 않습니다 StackOverflow