Binary trees & traversals
Each node has up to two children. The traversals: pre-order (node, left, right) copies a tree; in-order (left, node, right) yields a BST's values in sorted order; post-order (left, right, node) frees/evaluates children first; level-order (BFS with a queue) visits by depth. Recursion is natural; iterative versions use an explicit stack/queue.
Binary search trees
A BST keeps left-subtree values < node < right-subtree values, giving O(h) search/insert/delete where h is height. A balanced tree has h ≈ log n, but inserting sorted data degenerates it into a linked list (h = n).
Self-balancing (AVL / red-black)
AVL trees keep subtree heights within 1 via rotations after each insert/delete, guaranteeing O(log n) but with more rotations (good for read-heavy workloads). Red-black trees relax balance slightly for fewer rotations (used by many language map/set implementations).