Master Kruskal's Algorithm for Minimum Spanning Trees. Build union-find, grow an MST by adding the cheapest cycle-free edge in your language of choice, and answer connectivity and bottleneck-edge queries.
Prerequisites:
- Knowledge of a programming language of your choice.
- Basic understanding of weighted graphs.