I'm trying to improve the speed of an algorithm and, after looking at which operations are being called, I'm having difficulty pinning down exactly what's slowing things up. I'm wondering if Python's deepcopy() could possibly be the culprit or if I should look a little further into my own code.
The complexity of deepcopy() is dependant upon the size (number of elements/children) of the object being copied.  
If your algorithm's inputs do not affect the size of the object(s) being copied, then you should consider the call to deeopcopy() to be O(1) for the purposes of determining complexity, since each invocation's execution time is relatively static.
(If your algorithm's inputs do have an effect on the size of the object(s) being copied, you'll have to elaborate how.  Then the complexity of the algorithm can be evaluated.)
What is the runtime complexity of Python's deepcopy()?