Boruvka's algorithm