Sorting algorithms in general sort a list of objects according to some ordering scheme.
(Note however that there are sorting algorithms that are much more efficient than insertion sort for large arrays.)
Other more sophisticated parallel sorting algorithms can achieve even better time bounds.
However, now there are faster string sorting algorithms.
Sorting algorithms which are fast at sorting almost-sorted lists, such as insertion sort, are particularly good for this purpose.
Other sophisticated parallel sorting algorithms can achieve the same or better time bounds with a lower constant.
There are many integer sorting algorithms that are not comparison sorts; they include:
Sorting algorithms can be parallelized efficiently, but their communication overhead is expensive.
There is no universal method to sort different compositional algorithms into categories.
Another way to sort compositional algorithms is to examine the results of their compositional processes.