헝가리 알고리즘 (Edmonds 알고리즘) 단계 집계: (1) 먼저 x 의 모든 비 m 정점을 (*) 로 표시한 다음 단계 (2), (3) 을 번갈아 진행합니다. (2) 정점 Xi 와 같이 (*) 또는 단계 (3) 에서 (yi) 로 표시된 방금 표시된 x 에서 정점을 선택합니다. Xi 와 y 가 동일한 일치하지 않는 모서리의 양 끝이고 이 단계에서 y 가 아직 표시되지 않은 경우 (Xi) 를 사용합니다 방금 표시한 x 의 정점에 대해 위 절차를 모두 반복할 때까지 단계 (2) 를 반복합니다. (3) 단계 (2) 에서 (Xi) 로 표시된 방금 표시된 Y 중간 점을 선택합니다. 예를 들어 yi, yi 와 X 가 같은 일치하는 가장자리의 양쪽 끝이고 이 단계에서 X 가 아직 표시되지 않은 경우 (yi) 를 사용하여 X 의 노드 X 를 표시합니다. 방금 표시한 Y 중간 노드에 대해 위 절차를 모두 반복할 때까지 단계 (3) 를 반복합니다. (2), (3) 다음 중 하나가 발생할 때까지 번갈아 실행: (I) M 정점이 아닌 Y 의 정점 Y 로 표시. 이때 Y 에서 시작하여 마크로 거슬러 올라가며 (*) 표시된 X 의 정점 X 까지 대체 체인을 구합니다. 길이를 2k+1 로 설정합니다. 여기서 K 개는 일치하는 가장자리이고 k+1 개는 일치하지 않는 가장자리입니다. (II) 단계 (2) 또는 (3) 상황 대신 표시 가능한 노드를 찾을 수 없음 (I). (4) (2), (3) 단계가 중단된 경우 (I), 대체 체인에서 일치하지 않는 모서리를 일치하는 모서리로 변경하고, 원래 일치하는 모서리를 일치하지 않는 모서리로 변경하여 (원래 일치보다 두 개 이상의 모서리를 가진 새 일치를 얻음), 단계 (1) 로 돌아가서 기존 마커를 모두 제거합니다. (5) 가능한 모든 경우, (2) 및 (3) 단계가 상황 (II) 또는 단계 (1) 태그 없는 노드, 알고리즘이 종료됩니다 (알고리즘이 대체 체인을 찾을 수 없음).
위의 알고리즘이 관통합니다 이러한 경로를 찾은 후, 경로에서 일치하는 접속이 이미 일치하는 연결보다 한 개 이상 없는 것이 분명하다. 그래서 일치도를 수정하여 경로에서 일치하는 모든 연결을 제거하고, 일치하지 않는 연결을 일치로 바꿔 일치 수가 원본보다 1 개 더 많다. (윌리엄 셰익스피어, 햄릿, 일치하는 연결, 일치하는 연결, 일치하는 연결, 일치하는 연결, 일치하는 연결, 일치하는 연결, 일치하는 연결, 일치하는 연결) 이러한 경로를 찾을 수 없을 때까지 위 작업을 계속 수행합니다.