Сложность алгоритма рассчитывается из того, сколько строк кода и каких, есть ли вложенные циклы, рекурсии и т.д. Автоматически можно, если умудритесь очень умно запарсить исходник, чтобы различал рекурсию и т.д. Но это уже не функции, а другая программа)
Так же все зависит от того, как алгоритм "нарисован" и насколько он запутан.
Прям анализатор какой-то получился :D