Finding maximum matchings in random regular graphs in linear expected time

In a seminal paper on finding large matchings in sparse random graphs, Karp and Sipser [12] proposed two algorithms for this task. The second algorithm has been intensely studied, but due to technical difficulties, the first algorithm has received less attention. Empirical results in [12] suggest that the first algorithm is superior. In this paper we show that this is indeed the case, at least for random k-regular graphs. We show that w.h.p. the first algorithm will find a matching of size n/2 − O(log n) in a random k-regular graph, k = O(1). We also show that the algorithm can be adapted to find a maximum matching w.h.p. in O(n) time, as opposed to O(n3/2) time for the worst-case.