Cтраница 2
Создайте рекурсивную программу, которая вычисляет длину внутреннего пути бинарного дерева за время, которое пропорционально количеству узлов в дереве. [16]
Составить рекурсивную программу, проверяющую, является ли палиндромом фрагмент строки с / - го поу - й символ. [17]
Создайте рекурсивную программу, которая преобразует корневые выражения в постфиксные. [18]
Создайте рекурсивную программу, которая преобразует постфиксные выражения в инфиксные. [19]
Создайте рекурсивную программу, которая удаляет конечный узел из связного списка. [20]
Создайте рекурсивную программу, которая находит максимальный элемент в связном списке. [21]
Составить рекурсивную программу ввода с клавиатуры последовательности чисел ( окончание ввода - 0) и вывода ее на экран в обратном порядке. [22]
Напишите рекурсивную программу Quicksort, исходя из предусловия, что меньший подмассив обрабатывается раньше большего. [23]
Если рекурсивной программе не удается определить одну из составляющих ниже этого уровня иерархии и сообщается о неудаче, то избыточные элементы неудавшейся подпроблемы сдвигаются в другую группу, а в случае повторной неудачи методы перегруппировки применяются для построения другого набора независимых групп. Точно так же, если разрешимые подпроблемы не могут быть найдены, управление передается на следующий более высокий уровень с указанием неудачи. [24]
При прогонке рекурсивная программа требует гораздо больше места в памяти, чем нерекурсивная, поскольку система АПЛ должна помнить все варианты этой программы. Существует несколько способов оценки размеров занимаемой области. [25]
Для выражения рекурсивных программ необходимо и достаточно иметь понятие процедуры или подпрограммы, поскольку они позволяют дать любому оператору имя, с помощью которого к нему можно обращаться. Если некоторая процедура Р содержит явную ссылку на саму себя, то ее называют прямо рекурсивной, если же Р ссылается на другую процедуру Q, содержащую ( прямую и косвенную) ссылку на Р, то Р называют косвенно рекурсивной. Поэтому по тексту программы рекурсивность не всегда явно определима. [26]
Программа 5.19 - рекурсивная программа, которая строит турнир из элементов массива. Будучи расширенной версией программы 5.6, она использует стратегию разделяй и властвуй: чтобы построить турнир для единственного элемента, программа создает лист, содержащий этот элемент, и выполняет возврат. Чтобы построить турнир для N 1 элементов, в программе используется стратегия разделяй и властвуй: программа делит все множество элементов пополам, строит турнир для каждой половины и создает новый узел со связями с двумя турнирами и с элементом, который является копией большего элемента в корнях обоих турниров. [27]
Так что любителям рекурсивных программ следует либо реализовьшать локальные данные самостоятельно, создавая некий стек для хранения локальных данных в виде некоторого глобального массива, либо, что представляется более разумным, использовать чуть более развитые языки. [28]
Найдите новый класс рекурсивных программ, эффективно транслируемых в итерацию. [29]
В этом случае рекурсивной программе придается смысл с помощью первой теоремы о рекурсии. При таком подходе решаются и некоторые проблемы вычислительного метода, и в действительности оказывается, что оба метода можно считать, скорее, дополняющими друг друга, чем противоречащими один другому. [30]