VOOZH about

URL: https://www.geeksforgeeks.org/dsa/tree-sort/

⇱ Tree Sort - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Tree Sort

Last Updated : 11 Sep, 2023

Tree sort is a sorting algorithm that is based on Binary Search Tree data structure. It first creates a binary search tree from the elements of the input list or array and then performs an in-order traversal on the created binary search tree to get the elements in sorted order. 

Algorithm: 

  • Step 1: Take the elements input in an array.
  • Step 2: Create a Binary search tree by inserting data items from the array into the binary search tree.
  • Step 3: Perform in-order traversal on the tree to get the elements in sorted order.

Applications of Tree sort:

  • Its most common use is to edit the elements online: after each installation, a set of objects seen so far is available in a structured program.
  • If you use a splay tree as a binary search tree, the resulting algorithm (called splaysort) has an additional property that it is an adaptive sort, which means its working time is faster than O (n log n) for virtual inputs.

Below is the implementation for the above approach:


Output
2 4 5 7 11 

Complexity Analysis:

Average Case Time Complexity: O(n log n) Adding one item to a Binary Search tree on average takes O(log n) time. Therefore, adding n items will take O(n log n) time

Worst Case Time Complexity: O(n2). The worst case time complexity of Tree Sort can be improved by using a self-balancing binary search tree like Red Black Tree, AVL Tree. Using self-balancing binary tree Tree Sort will take O(n log n) time to sort the array in worst case. 

Auxiliary Space: O(n)
 


 


 

Comment
Article Tags: