Я думаю, вы должны заметить, что отношение повторения для этой функции ужасно знакомо . Вы можете точно узнать, насколько быстро растет это очень знакомое повторение, посмотрев его по имени.
Однако, если вам не удастся сделать интуитивный скачок, вы можете попытаться ограничить время выполнения, используя упрощенную задачу. По сути, вы модифицируете алгоритм таким образом, чтобы гарантированно увеличить время выполнения, упрощая его. Затем вы выясняете время выполнения нового алгоритма, который дает вам верхнюю границу.
Например, этот алгоритм должен занимать больше времени и его проще анализировать:
F(n): if n<2 then return n else return F(n-1) + F(n-1)