Vismo · Create · Library · Topics · Guides · Pricing

Minimum spanning tree with Kruskal's algorithm

A weighted graph is processed by sorting all edges from cheapest to most expensive, adding each one only if it does not close a cycle with edges already chosen. The animation highlights how this greedy rule, combined with cycle detection, connects every vertex using exactly V-1 edges at the lowest possible total weight, reaching 12. Useful for students studying graph theory, greedy algorithms, or network design in a computer science or discrete math course.

16:9 · every frame verified for overlaps, spacing and edges before rendering

The prompt that made it

Edges of a weighted graph are taken cheapest first and kept unless they would close a cycle, building the minimum spanning tree with total weight 12; V-1 edges connect every node at the least cost.

Make your own version

Make the next one in this series

Related animations

Binary search tree: smaller left, larger right
Binary search tree: smaller left, larger right

Values 50, 30, 70, 20, 40, 60, 80, and 35 are inserted one at a time into a binary search tree, with each comp…

Hash tables: a formula decides where each key lives
Hash tables: a formula decides where each key lives

Seven buckets receive keys according to key mod 7, with collisions stacked as chains beneath each bucket. A lo…

Big-O: how running time grows with the input
Big-O: how running time grows with the input

This animation plots O(1), O(log n), O(n), O(n log n), O(n^2), and O(2^n) on shared axes, showing how each cur…

Linear search vs binary search: count the comparisons
Linear search vs binary search: count the comparisons

This animation compares two ways to find the value 51 in a sorted list of 16 numbers. Linear search checks eac…

Quicksort: pick a pivot, partition, recurse
Quicksort: pick a pivot, partition, recurse

This animation walks through the Lomuto partition method used in quicksort, choosing the last element as pivot…

Merge sort: split, then merge sorted halves
Merge sort: split, then merge sorted halves

An array of eight values is recursively divided into halves until single elements remain, then pairs are merge…