Open In App

Binary Search Tree vs Ternary Search Tree

Last Updated : 30 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

For effective searching, insertion, and deletion of items, two types of search trees are used: the binary search tree (BST) and the ternary search tree (TST). Although the two trees share a similar structure, they differ in some significant ways.

unnamed.jpg

Binary Search Tree Vs Ternary Search Tree

Feature Binary Search Tree (BST) Ternary Search Tree (TST)
Node Here, each node has at most two children.  Here, each node has three children
Structure The left child is always smaller than the parent node, and the right child is always greater. The left child for values smaller than the node, a middle child for values equal to the node, and a right child for values greater than the node.
Searching The search operation in a BST follows a binary search algorithm. It compares the target value with the current node and proceeds to the left or right child based on the comparison until the target is found or the tree is exhausted. The search operation in a TST is similar to a binary search but with three possible outcomes: less than the current node (go to the left child), equal to the current node (go to the middle child), or greater than the current node (go to the right child).
String Searching They are not as efficient as TSTs due to the absence of a middle child  TSTs are particularly useful for string searching operations. They allow efficient prefix searches
Performance The performance of a BST depends on the balance of the tree. If the tree becomes unbalanced, it can lead to degenerate cases TSTs typically offer better worst-case time complexity compared to unbalanced BSTs. 

Both BSTs and TSTs are tree-based data structures that are used for searching, but they differ in the number of children that may be contained in each node, the search algorithms that can be employed, the space complexity, the ability to search strings, and the performance characteristics. TSTs can be more memory-efficient and are optimized for string-related operations, although BSTs are more adaptable and often utilized. The exact requirements and characteristics of the current challenge will determine which option is best.

Application of Binary Search Tree:

  •  BSTs can be used to store and retrieve data quickly, such as in databases, where searching for a specific record can be done in logarithmic time.
  • BSTs can be used as self-balancing data structures such as AVL tree and Red-black tree.
  •  BSTs can be used to implement graph algorithms, such as in minimum spanning tree algorithms

Application of Ternary Search Tree:

  • It can be used to implement the auto-complete feature efficiently.
  • Can be used for spell checkers.
  • Near neighbor searching.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads