Each node has two pointers, one to the left and one to the right. In a binary search tree, items smaller than the root node are on the left tree and items greater than the root node are on the right tree. A child of a root note can be the root node of another tree. There are different ways to traverse a tree. For example to insert if, do, goto, case, switch, while, and for, the tree would look like if do switch case goto while for If the words were in a different order, while, switch, if, goto, for, do, case, the shape would be very different and not really be a tree at all, but a linked list.
Deletion is a little more difficult because pointers have to be rearranged.
There are three cases to be considered for deleting an item from a binary search tree. Eliminating a leaf is easy. The pointer from the parent node is simply set to Null. When a node has one child, the pointer of the parent has to be pointed to the child of the node being deleted. The complication occurs when a parent has two children.