A binary tree is a tree with every node having at most two children.

Please note that the node keys in the binary tree above isn’t arranged in any specific order. The only rule required is that every node has at most two children.

The Binary Search Tree is a type of Binary Tree datastructure that keeps its nodes keys in sorted order, lesser keys to the left and greater keys to the right.

This arrangement enhances operations on the tree to be done using the binary search principle. The binary search principle searches for a node, starting from the root node and comparing between the left and right nodes to decide the next node to visit all the way down to the leaf node until it finds the search node.

**Search Implementation**

Search implementation pseudocode

// Node structure class Node { Node left; Node right; int data; } search (int searchData, Node node) { if (node == null or node.data == searchData) { return node; } if (searchData < node.data) { return search(searchData, node.left); } if (searchData > node.data) { return search(searchData, node.right); } }

**REFERENCES**