Содержание
- 2. Определения Рекурсивным называется объект, частично содержащий себя, или определенный с помощью самого себя.
- 3. Рекурсивные определения Натуральные числа: 0 – натуральное число Если N – натуральное число, то число N+1
- 4. Рекурсивные определения Факториал числа: 0!=1 N!=(N-1)!*N, для любого N>0;
- 5. Достоинство Рекурсивное определение позволяет определить бесконечное множество объектов с помощью конечного высказывания
- 6. Рекурсия в программировании С помощью конечной рекурсивной программы можно описать бесконечное вычисление, причем программа не будет
- 7. Рекурсивные функции Если некоторая подпрограмма (функция) содержит явную ссылку на саму себя, то ее называют прямо-рекурсивной
- 8. Рекурсия Рекурсия сводит решение задачи к решению более мелких идентичных задач Сложные задачи могут иметь простые
- 9. Факториал числа Рекурсивное определение: Fact(int n) { if(n==0) return 1; else return (Fact(n-1)); }
- 10. Факториал числа: итеративное определение long Factorial (int n) { int i; long f; if (n==0) return
- 11. Рекурсивное решение При вызове подпрограммы всякий раз создаются новые экземпляры локальных переменных При этом не возникает
- 12. Рекурсивное решение: факториал числа 5 return (5*Fact(4)) 5*4*3*2 return (4*Fact(3)) 4*3*2 return (3*Fact(2)) 3*2 return (2*Fact(1))
- 13. Свойства рекурсивного решения Функция вызывает саму себя При каждом вызове функции решается идентичная, но меньшая задача
- 14. Ошибка в использовании рекурсии Отсутствие базиса: void PRINT() { cout PRINT(); } При вызове данной функции
- 15. Четыре вопроса о рекурсивном решении: Как свести задачу к идентичным задачам меньшего размера? Как уменьшать размер
- 16. Числа Фибоначчи F(n)=F(n-1)+F(n-2) Необходимо 2 базиса:F(1)=1, F(2)=1; int F(int n) { if (n else return F(n-1)+F(n-2);
- 17. Задача о параде Необходимо на параде расставить k оркестров и m платформ, так, чтобы никакие два
- 18. Задача о параде Допустим, что у нас есть N оркестров и N платформ Будем считать, что
- 19. Задача о параде Введем обозначения: P(n)- количество вариантов организации парадов длиной n F(n)-количество вариантов организации парадов
- 20. Задача о параде F(n)=P(n-1) – парад, завершающийся платформой длины n получается из парада длиной n-1, завершающийся
- 21. Задача о параде Базис: P(1)=2-парад длины один может состоять либо из платформы, либо из оркестра P(2)=3-
- 22. Дилемма мистера Спока Сколько разных способов можно применить для исследования k планет, если солнечная система состоит
- 23. Рассуждения мистера Спока Есть две возможности: Либо мы посещаем некоторую планету Х и тогда другие k-1
- 24. Получаем формулу: c(n,k)=c(n-1,k-1)+ c(n-1,k), где c(n-1,k-1) – количество групп, состоящих из k планет, включающих планету X
- 25. Базис: c(k,k)=1 – можно выбрать только одну группу, состоящую из всех планет c(n,0)=1 – есть только
- 26. Разложение числа на слагаемые Сколькими способами можно разбить число M на слагаемые Обозначим число разбиений P(M)
- 27. Разложение числа на слагаемые Q(M,1)=1 – только одним способом можно представить число М с помощью 1:
- 29. Скачать презентацию