Strand sort is a recursive sorting algorithm that sorts a list into increasing order by repeatedly moving the first element of the remaining list into a new sub-list and then comparing the last element of that sub-list against each subsequent element of the original list, moving over any element greater than the sub-list's last element, until the sub-list can absorb no more elements and is merged into a growing sorted output; the process repeats until all elements are sorted. It has a worst-case time complexity of O(n squared), occurring when the input list is reverse sorted, and a best case of O(n) when the input is already sorted, and its name reflects the strands of already-sorted elements it removes from the unsorted remainder one at a time.
Facts
Time Complexity
Time Complexity (category) Time Complexity (category)Quadratic Time -- O(n^2) 1 Connections
In Field
Source Strand sort (Wikipedia)
Uses Design Technique
Source Strand sort (Wikipedia)
Sources
1. Strand Sort (Wikipedia)
Wikipedia article body, read for Browse By backfill (w-bbfill-computing6-0927)
Strand sort (Wikipedia)
Uses Design Technique: Recursion, Lead
Strand sort is a recursive sorting algorithm that sorts items of a list into increasing order.
In Field: Algorithms and Complexity Theory, Lead sentence
Strand sort is a recursive sorting algorithm that sorts items of a list into increasing order.
View the SourceNIST Dictionary of Algorithms and Data Structures: strand sort
NIST Dictionary of Algorithms and Data StructuresIn Group: Comparison Sorting Algorithms, DefinitionQuote, In Group: Comparison Sorting Algorithms, Definition
For each subsequent item in the original list, if it is greater than the last item of the sublist, remove it from the original list and append it to the sublist.
View the Source Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.