Although it takes O(n2 ) worst-case time to solve a stable marriage problem instance with n men and n women, a trivial O(n) algorithm suffices if all men are known to have identical preference lists and all women also are known to have identical preference lists. Since real-world instances often involve men or women with similar but not necessarily identical preference lists, this motivates us to introduce the notion of an adaptive stable marriage algorithm -- an algorithm whose running time is of the form O(n + k), where k describes the aggregate amount of disagreement between the preference lists in our instance versus a pair of specified "consensus" preference lists, one for the men and one for women. The running time of an adaptive stable matching algorithm therefore gracefully scales from O(n2 ) in the worse case down to O(n) in the case where preference lists are all in close agreement. We show how the O(n+k) running time bound can be achieved if all women are known to...
John Dabney, Brian C. Dean