- Big-O doesn’t measure speed, it measures how performance degrades as n increases. It is about rate of decay.
- “Python is slow” is not always true, because a lot of Python operations do not stay in Python: they’re in optimized C.
- Python’s
in operator is faster in sets that in lists.
Lists use dynamic arrays. Python performs a linear search: it iterates through each element of the list until it finds a match or the end of the list. Time complexity: O(n).
Sets use hash tables which allow looking up key-value pairs quickly. Average-case time complexity: O(1), but in the worst case O(n).
- The enum module is part of the standard library and allows creating enumerations (constant values grouped together under a common type). It allows for better readability and easier maintenance.