Trees are graphs with exactly edges and no cycles. This constraint unlocks algorithms that fail on general graphs. Any two nodes have exactly one path between them. Removing any edge splits the tree in two.
I'll show you LCA with binary lifting, tree diameter, Euler tours for subtree queries, and rerooting techniques. These patterns appear constantly in competitive programming. If your graph is a tree, you have more tools available. Let's learn to use them.