BipArtite 그래프 용 빠른 최대 일치 알고리즘
-
26-12-2019 - |
문제
다음을 해결하려고합니다. 문제점 그러나 내 알고리즘이 너무 느립니다....에나는 "nofollow"> Edmonds - karp algorithm 최대 흐름을 찾으려면Bipartite 그래프에 적용 할 때 최대 매칭을 제공합니다.실행 시간은 n ^ 5입니다.이 문제를 해결하기 위해 더 빠른 알고리즘을 알고 싶습니다 (BipArtite 그래프의 경우 특별히).현재 공부하고있는 한 알고리즘은 front to front
해결책
BipArtite 매칭 문제의 해결 중에 발생하는 네트워크에서, 위상의 수는 O (\ sqrt {v})로 바인딩되므로 o (\ sqrt {v} e) 시간 바인딩. 결과 알고리즘은 또한 Hopcroft-karp 알고리즘. 더 일반적 으로이 바운드는 모든 단위에 대해 보유합니다 네트워크 - 소스 및 싱크를 제외한 각 꼭지점 네트워크, 하나는 용량이 하나 또는 하나의 입력에 가장자리를 띠고 있습니다. 용량의 익산 가장자리, 그리고 다른 모든 용량은 임의적입니다. 정수.
불행히도 알고리즘에 대한 Wikipedia 기사는 그것을 구현하기에 충분하지 않으며 온라인으로 더 나은 자원을 찾을 수 없었습니다. 나는 내 자신의 구현을 가지고 있지만, 나는 오랫동안 내 대학의 다른 사람들의지도를 사용하여 그것을 만들었습니다.
다른 팁
소위 Bipartite 매칭을위한 헝가리 알고리즘 런타임으로 구현할 수 있습니다.복잡성.
제휴하지 않습니다 StackOverflow