A deterministic algorithm for computing a minimum spanning tree of a connected graph is presented. Its running time is O(m (m, n)), where is the classical functional inverse of Ackermann's function and n (respectively, m) is the number of vertices (respectively, edges). The algorithm is comparison-based: it uses pointers, not arrays, and it makes no numeric assumptions on the edge costs. Categories and Subject Descriptors: F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems. General Terms: Theory Additional Key Words and Phrases: Graphs, matroids, minimum spanning trees