Понятие сложности времени, кажется, немного в вашем вопросе.
Если вы задумываетесь над вопросом «Как долго будет работать эта функция», то концепция временной сложности в действительности не имеет смысла. Вы, кажется, понимаете основы, поэтому знаете, что сложность 1000N + 100000 такая же, как и для N / 10000. Тем не менее, я также отмечу, что временные затраты для 1000N + 100000 намного больше, чем для N / 10000.
Понятие сложности относится к росту. Выражается скорость, с которой увеличивается потребление времени функцией с размером N (размер входных данных).
В мире затрат времени, циклический метод в большинстве случаев свергнет рекурсивный (я не думаю, что мне еще доводилось видеть случай, когда рекурсивное решение займет меньше времени даже при оптимизации компилятора ). Кроме того, как вы (и большинство авторов до меня) упомянули, требуемое пространство может быть больше (если не используется оптимизация хвостового вызова, оно должно быть заметно больше).
Если вам интересно, для чего нужна рекурсия (за пределами школы), то ответом будет простота кода (рекурсия может иногда создавать удивительно простой код при правильном использовании).