improving a huge double-for cycle
Tim Chase
python.list at tim.thechases.com
Tue Sep 23 10:45:12 EDT 2008
km wrote:
> how abt this ?
>
> N = len(IN)
> for k in range(N):
> for j in range(N):
> if j >= k: # or k <= j
> doSomething()
This has the root problem that the "if" statement is evaluated
N*N times, which is ugly/slow O(N^2) behavior. My solution
managed to reduce it by a constant multiplier, but several folks
proposed a more elegant O(N) solution which was leaps & bounds
faster.
-tkc
More information about the Python-list
mailing list