At 10/24/09 05:57 PM, GustTheASGuy wrote:
Yes, you're not allowed to talk because you don't have anything to say about the topic. That's what I wanted to talk about. Jon did seem to give a shit because he kept answering. Though you can figure it was a matter of pride, and going against me with only pride doesn't ..work out.
A matter of pride? What are you talking about. You said I mentioned an algorithm because it wasn't relevant. I told you why I mentioned it.
The origional questio was "can someone reccomend a FAST sorting algorithm".
If I rewrote my post the way I was thinking then you dont have a leg to stand on. And thats what I'm going to do now. The reason I didn't as while I was about to write I figured that it wasnt neccesary here as you pointed out yourself.
At 10/22/09 02:15 PM, Jon-86 wrote:
I was gonna recommend A* then I remembered that was a search algorithm and you would really only need that if you had a massive amount of data to sort and needed an intelligent sorting alrorithm to go through it.
Quicksort is quite a good general one to use. Your best bet would be to generate and extended dataset for testing with that will contain relevant data that you expect to see (if you can) and then run a few algorithms on that and time them.
http://en.wikipedia.org/wiki/Quicksort
At 10/24/09 02:41 PM, GustTheASGuy wrote:
Okay, but I still don't see how A* comes in. It applies to graphs. If you use A* to compute some distance about the data in the arrays, and then use that distance to sort, it's not a heuristic but the actual order that you're sorting on.
Your thinking about something specific, think more abstractly, algorithms are basically just set ways to get things done. You said it applies to 'graphs' well your graph can contain anything. A tree or graph is also an abstract data structure. The best way to describe it would be using search to drive the sorting algorithm.
Say you wanted to break down a sorting task and spread it over a cluster or multi-core system. You could split the problem into chunks to be run on each processor. That would be impossible to do with and normal sorting algorithm but if you have written a program where a search algorithm moves through the data-set or graph or tree or whatever while the data is being sorted you can co-ordinate the whole thing so it actually works.
Something like this would be used in a pralell computing, a cluster for example. And I built one and was experimenting with adaptive scheduling for my honours project last year before I graduated.
Now obviously that is more than whats needed here, this is not about pride, you questioned why I mentioned something, basically being an arse about it when in actual fact you were wrong to do that.
Any questions?