Re: in the middle of shift and pop

From: Date: Thu, 21 Aug 2003 04:24:36 +0000
Subject: Re: in the middle of shift and pop
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-160271@lists.php.net to get a copy of this message
On Wed, 2003-08-20 at 23:38, Jaap van Ganswijk wrote: > > Finding a single element in a doubly linked list can > be sped up using a hash-code table, but it also > makes things like renumbering numerically indexed > entries a lot harder (I think, I never used a > combination of these things.) Doubly threaded red-black trees are good for in order traversal and arbitrary lookup. As with most structures that provide more speed, you use more memory :) O( lg n ) insertion, O( lg n ) deletion, O( lg n ) search. Threaded means the in order nodes are threaded into a linked list. PHP I believe uses hashes of some sort, I'm not sure how they keep track of the insertion order for doing a foreach loop -- I guess we could look. On a more related topic: if he's happy with the unset() function but wants the indexes renumbered, he could write a C function which performs the renumbering. Should keep it relatively fast and provide the option of renumbering -- or not. Cheers, Rob. -- .---------------------------------------------. | Worlds of Carnage - http://www.wocmud.org | :---------------------------------------------: | Come visit a world of myth and legend where | | fantastical creatures come to life and the | | stuff of nightmares grasp for your soul. | `---------------------------------------------'

« previous php.general (#160271) next »