Be Developer

[Python] len()은 어떻게 상수시간 O(1)으로 동작할까? 본문

Other

[Python] len()은 어떻게 상수시간 O(1)으로 동작할까?

yujin_dev 2021. 4. 30. 08:57
반응형

Python에서 전체 요소의 개수를 리턴하는 len() 함수는 O(1)의 시간 복잡도를 가진다.

어떻게 O(1)의 시간 복잡도를 가질 수 있었을까?

 

len()__len__()을 호출한다.

__len__()은 카운터로 작동하며 데이터가 정의되고 저장되면 자동적으로 증가한다.

결과적으로 인터프리터에게 순회하며 길이를 가져오라는 명령대신 이미 저장된 value를 가져오게 된다.

 

이렇게 len()은 O(1)의 시간 복잡도를 가지게 되었다.

 

출처

https://www.geeksforgeeks.org/internal-working-of-the-len-function-in-python/

반응형

'Other' 카테고리의 다른 글

[Node.js] sequelize.query()의 결과로 같은 값이 2번 반복될 때  (0) 2021.02.08
[Node.js] timeout 문제  (0) 2021.01.10
Comments