5, 8, 13, 21, 34 … etc F(n) = F(n-1) + F(n-2) Tail Recursivity • Back to being efficient 👍 • Still easy to read, but less 👎 O(n) time / O(1) space function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } • Efficiency isn’t 100% guaranteed 👎 function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } function fibonacci(n) { function fiboHelper(n, result, next) { if (n == 0) result else return fiboHelper(n - 1, next, result + next) } return fiboHelper(n, 0, 1) } (…)