Discrete Mathsfor Engineers

Structures, proofs, and intuition

EN | PT

Graph Theory → Kruskal

Part 1 of 1 — Introduction

Series: Kruskal Part 1 of 1
1 2 3 4

Problem — Connecting a Network at Minimum Cost

Suppose we want to connect several cities using cables, roads, or pipelines. Each possible connection has a cost, and the goal is to connect every city while spending as little as possible.

In graph theory, this becomes a problem about finding a minimum spanning tree: a set of edges that connects all vertices, uses no cycles, and has the smallest possible total weight.

1 2 3 4 5 6 7 8 9 A B C D E F Vertex A Vertex B Vertex C Vertex D Vertex E Vertex F
Each number is an edge weight. The green edges illustrate one minimum spanning tree: connect all vertices, avoid cycles, and keep the total weight as small as possible.

What is Kruskal’s algorithm?

Kruskal’s algorithm is a greedy method for finding a minimum spanning tree in a weighted graph. It works by considering edges from smallest weight to largest weight.

At each step, the algorithm tries to add the lightest remaining edge. However, an edge is accepted only if it does not create a cycle.

This process continues until all vertices are connected. If the graph has n vertices, the final spanning tree will contain exactly n − 1 edges.

The central intuition is simple: choose the cheapest safe edge available. “Safe” here means that the new edge connects two different components instead of closing a loop.

Because it always chooses the next cheapest valid edge, Kruskal is one of the clearest and most elegant examples of a greedy algorithm in graph theory.

Summary: Kruskal = add the lightest edge that does not form a cycle.

Why is this idea important?

Minimum spanning trees are useful whenever we want to build a connected structure at minimum cost: communication networks, road systems, electrical grids, clustering methods, and infrastructure design.

Kruskal’s algorithm is also important pedagogically because it shows how a local rule can produce a globally optimal structure. This makes it a classic example of greedy thinking done correctly.

In practice, Kruskal is especially natural when the graph is viewed as a collection of weighted edges, since the algorithm begins by sorting them.

Key intuition for Part 1

The goal is not merely to connect the graph — it is to connect it as cheaply as possible.

Kruskal achieves this by repeatedly asking: what is the smallest edge I can add right now without breaking the tree structure?

In the next part, we will study the algorithm step by step, sorting edges by weight and deciding exactly which edges are accepted or rejected.

Next step: step-by-step execution of Kruskal’s algorithm.