У певному сенсі рекурсія - це все, що стосується поділу та підкорення рішень, тобто перетворення простору проблеми на менший, щоб допомогти знайти рішення для простої проблеми, а потім, як правило, повертаючись до реконструкції вихідної проблеми, щоб скласти правильну відповідь.
Деякі приклади, які не включають математику для навчання рекурсії (принаймні, ті проблеми, які я пам’ятаю з моїх університетських років):
Ось приклади використання Backtracking для вирішення проблеми.
Інші проблеми - класика домену штучного інтелекту: використання глибинного першого пошуку, пошук маршрутів, планування.
Усі ці проблеми пов'язані з якоюсь "складною" структурою даних, але якщо ви не хочете вчити це математиці (числам), ваш вибір може бути більш обмеженим. Yoy, можливо, захоче почати викладання з базової структури даних, як, наприклад, пов'язаний Список. Наприклад, представляючи натуральні числа за допомогою списку:
0 = порожній список 1 = список з одним вузлом. 2 = список з 2 вузлами. ...
то визначте суму двох чисел у такій структурі даних, як це: Порожній + N = N Вузол (X) + N = Вузол (X + N)