The maximum cardinality and maximum weight matching problems can be solved in time O~(mn), a bound that has resisted improvement despite decades of research. (Here m
Nearby in the stack
and
n
are the number of edges and vertices.) In this article we demonstrate that this "
mn
barrier" is extremely fragile, in the following sense. For any
ε>0
, we give an algorithm that computes a
(1−ε)
-approximate maximum weight matching in
O(mε−1logε−1)
time, that is, optimal linear time for any fixed
ε
. Our algorithm is dramatically simpler than the best exact maximum weight matching algorithms on general graphs and should be appealing in all applications that can tolerate a negligible relative error. Our second contribution is a new exact maximum weight matching algorithm for integer-weighted bipartite graphs that runs in time