Transcript Tree Sort

CS 261 - Winter 2009
Tree Sort
Useful Properties of Sorted
Data Structures
• Skip Lists (as well as AVL Trees, and
various other data structures we will
eventually see) have two useful
properties
– They have O(log n) insertion
– They keep their elements in order
Together, these combine for a particularly
simple sorting algorithm
YASA - Yet Another Sorting
Algorithm
How to sort an Array (lets call it A)
Step 1. Copy elements from A into a
sorted data structure
Step 2. Copy elements from the data
structure back into A
Lets Analyze the Execution
Time
Assume there are N elements
Step 1. Copy elements from A into a
sorted data structure O( ??
)
Step 2. Copy elements from the data
structure back into A
O( ?? )
We couldn’t we do this with
arrays?
• Why couldn’t we do tree sort with a
sorted dynamic array?
• Why not an ordinary dynamic array?
That’s pretty good
• The execution time O(n log n) is the
best we have seen so far - pretty good.
And it is simple
• Anybody see a downside?