If binary tree is empty, create a node, and assign data, point to it
Otherwise : point to root node
Compare the new – data – to – insert with the current node data
We maintain a pointer say current to point to the node under visit
If data matched : nothing to do
If data does not match :
keep traversing left if new data is smaller than current node data(until match or reach leaf / null).
To keep traversing to the left : current = current->left
Then create a new node, and point the left of curr node to this new node
keep traversing right if new data is bigger than current node data(until match or reach leaf / null).
To keep traversing to the right : current = current->right
Then create a new node, and point the right of current node to this new node