Sorting algorithms/Tree sort on a linked list: Difference between revisions

From Rosetta Code
Content added Content deleted
(The tree sort is considered by some to be the faster method to sort a linked list, followed by Quicksort and Mergesort:)
 
m ({{draft task|Sorting Algorithms}})
Line 1: Line 1:
{{task|Sorting Algorithms}}
{{draft task|Sorting Algorithms}}
{{Sorting Algorithm}}
{{Sorting Algorithm}}
{{Wikipedia pre 15 June 2009|pagename=article|lang=en|oldid=295989333|timedate=15:13, 12 June 2009}}
{{Wikipedia pre 15 June 2009|pagename=article|lang=en|oldid=295989333|timedate=15:13, 12 June 2009}}
Line 8: Line 8:
[[Sorting_algorithms#Sediment sort|Sediment sort]], [[Sorting_algorithms#bubble sort|bubble sort]], [[Sorting_algorithms#selection sort|selection sort]] perform very badly.
[[Sorting_algorithms#Sediment sort|Sediment sort]], [[Sorting_algorithms#bubble sort|bubble sort]], [[Sorting_algorithms#selection sort|selection sort]] perform very badly.


'''Test case:''' Create a linked list of all the sentences all the episodes of [http://www.telelib.com/authors/J/JoyceJames/prose/finneganswake Finnegans Wake by James Joyce]. Load them into a local memory based linked list, then tree sort them inplace and print the number of swaps and Bogomips required to perform the sort. (The book is to be stored locally in a test file on disk for use by the specimin code.)
'''Test case:''' Create a linked list of all the sentences of all the episodes of [http://www.telelib.com/authors/J/JoyceJames/prose/finneganswake Finnegans Wake by James Joyce]. Load them into a local memory based linked list, then tree sort them inplace and print the number of node swaps and Bogomips required to perform the sort. (The book is to be stored locally in a test file on disk for use by the specimin code.)

Revision as of 07:57, 30 March 2014

Sorting algorithms/Tree sort on a linked list is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

This page uses content from Wikipedia. The current wikipedia article is at article. The original RosettaCode article was extracted from the wikipedia article № 295989333 of 15:13, 12 June 2009 . The list of authors can be seen in the page history. As with Rosetta Code, the pre 5 June 2009 text of Wikipedia is available under the GNU FDL. (See links for details on variance)

A tree sort is a sort algorithm that builds a binary search tree from the keys to be sorted, and then traverses the tree (in-order) so that the keys come out in sorted order. Its typical use is when sorting the elements of a stream from a file. Several other sorts would have to load the elements to a temporary data structure, whereas in a tree sort the act of loading the input into a data structure is sorting it.

The tree sort is considered by some to be the faster method to sort a linked list, followed by Quicksort and Mergesort:

Sediment sort, bubble sort, selection sort perform very badly.

Test case: Create a linked list of all the sentences of all the episodes of Finnegans Wake by James Joyce. Load them into a local memory based linked list, then tree sort them inplace and print the number of node swaps and Bogomips required to perform the sort. (The book is to be stored locally in a test file on disk for use by the specimin code.)