Answer Posted / mr. x
Lots of ppl asked, nobody had a clue.
The best sorting algorithm on average depends on the data to
be sorted. If the data is more or less well evenly
distributed, the best sorting algorithm is Radixsort or
Bucketsort, with average and worst cases of O(n).
Next are a class of very complex algorithms (impractical)
which are O(n log log n).
Next are the O(n log n) algorithms. Mergesort and Heapsort
both show average and worst case complexities of O(n log n).
Quicksort is to be avoided as the plague!!!!! It has
non-deterministic complexity and has a worst-case behaviour
of O(n^2). No wonder why there are so many crappy
applications out there.
Then Shellsort is pretty good for small-to-medium lists, as
long as you choose the best gaps (around O(n log^2 n)).
Otherwise it can perform O(n^4/3) or even O(n^2)!.
All other sorts are to be avoided, except for very specific
cases or when simplicity is far more important than code
velocity.
| Is This Answer Correct ? | 10 Yes | 4 No |
Post New Answer View All Answers
What is the difference between a stack and an array?
Define in brief an array.
Why do we use trees in data structures?
What is complexity of quicksort?
What is int data type?
What is selection in an algorithm?
What is the use of isEmpty() member methods?
What is difference between stack and queue?
Which data structures are applied when dealing with a recursive function?
How to find 3rd element from end in a linked list in one pass?
How is heap sort implemented?
What is the function of stack?
Define linked lists?
Design a datastructure to represent the movement of a knight on a chess board
Which is best book for data structures?