Tree sort

Tree sort
ClassSorting algorithm
Data structureArray
Worst-case performanceO(n²) (unbalanced) O(n log n) (balanced)
Best-case performanceO(n log n) [citation needed]
Average performanceO(n log n)
Worst-case space complexityΘ(n)
OptimalYes, if balanced

A tree sort is a sort algorithm that builds a binary search tree from the elements to be sorted, and then traverses the tree (in-order) so that the elements come out in sorted order.[1] Its typical use is sorting elements online: after each insertion, the set of elements seen so far is available in sorted order.

Tree sort can be used as a one-time sort, but it is equivalent to quicksort as both recursively partition the elements based on a pivot, and since quicksort is in-place and has lower overhead, tree sort has few advantages over quicksort. It has better worst case complexity when a self-balancing tree is used, but even more overhead.

  1. ^ McLuckie, Keith; Barber, Angus (1986). "Binary Tree Sort". Sorting routines for microcomputers. Basingstoke: Macmillan. ISBN 0-333-39587-5. OCLC 12751343.