Недавно я прочитал этот и был удивлен, что временная сложность алгоритма объединения и поиска только со сжатием пути составила O((m+n) log n)
, где m
— количество запросов «найти», а n
— количество запросов на «слияние».
Меня заинтересовала эта сложность (поскольку я обычно реализую этот алгоритм без ранга, и даже когда я применил объединение по рангу вверх ногами, производительность была неплохой!) и попытался найти пример, который может сделать это время сложности. Но из-за огромной силы сжатия пути это было действительно сложно...
Есть ли какие-нибудь примеры, которые могут достичь Omega((m+n) log n)
, или эта сложность просто теоретическая, а не практическая?