Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Было бы также интересно попробовать решить задачу с хвостовой рекурсией, и сравнить с двумя приведёнными вариантами. Я не сильно знаком со Swift, но, поскольку он основан на LLVM, ожидал бы, что TCO поддерживается. Также это должно решить проблему с недостатком ресурсов компьютера.
Поэтому о константной сложности по выделяемой памяти для рекурсивного алгоритма речь уже не идет.
Reverse took 0.000501788999827113 seconds
Recursive took 0.0005243940013315296 seconds
swiftc -Ounchecked linkedlist.swift
Разворот односвязного списка. Swift Edition