"in" everywhere
Stanislav Blinov
stanislav.blinov at gmail.com
Fri Oct 8 14:57:29 PDT 2010
Jonathan M Davis wrote:
> On Friday 08 October 2010 03:06:01 Stanislav Blinov wrote:
>> [...]
>> What I mean is you'll always have algorithms that will perform
>> differently for different containers, and you'll always have to choose
>> containers that best fit your needs [...]
>
> All true. However, the point is that operations need to have a know complexity.
> If in is known to be O(1), the algorithms can safely use it, knowing that it's
> O(1). Any container that can't do it in O(1) doesn't implement in. You could, on
> the other hand, have in be O(n) (which doesn't stop containers from implementing
> it as O(1) since that's better than O(n)), and then any algorithm that uses it
> has to assume that it could be O(n) and therfore may need to avoid it. The real
> question is what complexity we want to define it as. At the moment, the only
> container to use it are the built-in associative arrays, and for them, it's
> O(1). Since find() is already going to be O(n), it seems to me that in should be
> better than O(n) - be it O(1) or O(log n) - and Andrei appears to agree, but
> others don't, hence this long discussion...
>
Ahh, I think I get the perspective now, though I had to reread the whole
thread two times. Thank you.
More information about the Digitalmars-d
mailing list