Binary search trees
Binary search tree basic operations such as access, search, insertion, and deletion take between O(n) and O(log(n)) time. Being both values the worst and the average scenarios. At the end, these times are going to depend on the height of the tree itself.
For example, for a complete binary search tree with n nodes, these operations could take O(log(n)) time. But if a tree with the same number of nodes n is built like a linked list (just 1 child per node), having more levels/depth for the same n nodes, then the operations are going to take O(n) time.
In order to make basic operations such as insertion or search, we need to scan nodes from the root to the leaves. Because of this, we can infer that the height of the tree (the distance or nodes between the root and a leaf) will affect the time we spend performing basic operations.
Now, before jumping into the code of some operations, such as inserting and searching nodes in a binary search tree, lets recall the basic property...