Subject: [stella] Sorting Algorithms. From: cybergoth@xxxxxxxx Date: Mon, 25 Mar 2002 10:49:37 +0100 (MET) |
Thomas Jentzsch worte: >Manuel Polik wrote: >>Here's how I sort the sprites in my intelligent flicker >>routine. It is adopted from Steve Judds and Pasi Ojalas >>excellent sorting article in C= Hacking #18. >>snip >>Might this be even quicker than bubble-sort? :-) >As always: It depends. :-) :-) >This tree-sorting is WAY faster than bubble-sort for large and >UNsorted lists: O(n log n) vs O(n^2) >BUT, in my (and your?) case, the list is not unsorted, but >imperfect sorted. From frame to frame, the elements move only >slightly (e.g. +/-1), so 4,5,6,7,8 might become 5,4,5,8,7 or >3,6,5,6,9 etc. With bubble-sort, this is corrected very soon Well, unfortunately, I'd have objects appear/disappear any given time, any place. So a new enemy flying into the scene from top or bottom, might (depending on the sort order) result in a worst-case Bubble Sort, from one frame to another! >AND the algorithm can recognize perfect sorting (no swaps) and >then stop very early. Since I have to cope with a worst case sort any time, any early-bail-out-code would only make the situation worse, since its overhead would additionally slow down the sort. >And bubble-sort saves memory, because you >don't need the link-table. Hm... even when doing Bubble Sort, I'd probably have to sort only links, otherwise I'd have to swap Y-Pos/X-Pos/Size/Color/Y-Movment & X-Movement values on every occuring swap :-) >Iterating through a sorted list without the additional table is >even faster. That helps inside a tight kernel. Well, nothing prevents me from using the links only temporary for the sorting, then doing all necessary swaps _once_ :-) BTW: Wouldn't you have to support worst-case sort too, when switching to the next level? Greetings, Manuel ----------------------------------------------------------------------- Riester-Rente - Kassieren Sie das Geld vom Staat: Zum Förderungsrechner! http://www.arcor.de/home/redir.php/riesterrente ----------------------------------------------------------------------- ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] Y-Sorting alternative , Thomas Jentzsch | Thread | Re: [stella] Sorting Algorithms., Thomas Jentzsch |
Re: [stella] Y-Sorting alternative , Thomas Jentzsch | Date | Re: [stella] Sorting Algorithms., Thomas Jentzsch |
Month |