Arrays give you random access but search (unless sorted, then with binary search, but insertion becomes ).
Linked lists give you insertion but search. Binary Search Trees solve this tradeoff.
The BST property ensures that at each node, you know which half contains your target. Search, insert, and delete all take time, where is the tree height.
The catch: height depends on insertion order. Insert and you get a stick with . Insert in balanced order and .
In this section, I'll teach you BST operations and the inorder property. You'll see why self-balancing trees (AVL, Red-Black) exist. And when simpler solutions work fine.