I think you may misunderstand how the algorithm works. The algorithm works by running the Kruskal algorithm until the last edge is added, and then stops right before that. The algorithm does not attempt to create a collection of these "last ribs"; instead, it repeatedly performs O (n 2 ) random iterations of the Kruskal algorithm to create possible cuts O (n 2 ). Taking the lowest cut between all these candidate cuts, he gives the smallest cut with a high probability. In other words, it does not matter if the edges are O (n 2 ). What is important is the reduction that remains at the end, and not the last edge that was considered.
Hope this helps!
source share