Когда на странице Википедии написано «самый быстрый алгоритм минимального связующего дерева», они имеют в виду алгоритм с наименьшими асимптотическими границами - в данном случае O (m α (m, n)), с m, n и α определяется как в вставленной вами цитате. Проще говоря, это означает, что для очень больших входных значений количество времени всегда будет ограничено C * m * α (m, n) для некоторого значения C. Но обратите внимание, что C может быть очень большим - т.е. этот алгоритм может быть медленнее других при применении к меньшим входным значениям, даже если он работает быстрее других при очень больших входных значениях.
При сравнении асимптотических границ двух алгоритмов нет «проверки», чтобы увидеть, какой из них быстрее, - вы просто докажете асимптотические границы каждого алгоритма и посмотрите, какой из них ниже. («Асимптотика» относится к поведению, когда размер входных данных уходит в бесконечность, и трудно выполнять тесты с входными значениями бесконечного размера.)
Но учтите, что в некоторых случаях вы должны не использовать асимптотически быстрый алгоритм. Если буква «С» очень велика, вам лучше использовать более простой алгоритм для меньших значений данных.
Я предполагаю, что ваш алгоритм может улучшиться на C, но не на асимптотических границах. Но если я ошибаюсь, отправьте это в ACM!
Подробнее см .: http://en.wikipedia.org/wiki/Big_O_notation