Вариант 4096719337.
Рассмотрим фрагмент программы на C:
int fibo (int n) { if (n<2) return n; else return fibo(n-1)+fibo(n-2); }
Чтобы найти время выполнения T(n) для «fibo», предположим, что для некоторых констант a и b
Следующим шагом, определим рекуррентное соотношение, которое, если решить, будет определять время работы T(n) через константы a и b. Выберите правильное.
Рассмотрим дерево: [svg]
Что нельзя о нем сказать?
Рассмотрим алгоритмы-политики планировщика процессов:
Какие предотвращают «ресурсное голодание»?
Какое из бинарных деревьев обеспечит быстрейший поиск элемента «2»?
Пусть у нас есть регулярные выражения R и S:
R = (ab)|a S = (bc)|c
Какое слово может быть в языке L(RS)?
Рассмотрим контекстно-свободную грамматику:
S → AB A → 1 | B1B B → 00A
Какую строку она может породить?
Проведем BFS-поиск (поиск в ширину), кратчайшего пути из A в Z:
[svg]
В каком порядке алгоритм посетит вершины?
Теоретически возможно реализовать любую комбинаторную логику используя только «NAND» или «NOR» узлы. Какие плюсы наличия более широкого класса логических вентилей при проектировании? Рассмотрим гипотезы:
Рассмотрим контекстно-свободную грамматику G1:
<Exp> → <Exp> + <Exp> | <Exp> - <Exp> <Exp> → <Exp> * <Exp> | <Exp> / <Exp> <Exp> → <Id> <Id> → a | b | c | … | y | z
Затем, рассмотрим ее модификацию G2:
<Exp> → <Term> | <Exp> + <Term> | <Exp> - <Term> <Term> → <Factor> | <Term> * <Factor> | <Term> / <Factor> <Factor> → <Id> <Id> → a | b | c | … | y | z
Теперь рассмотрим утверждения:
Строгий анализ некоторого алгоритма, обнаружил, что как только размер входа превосходит некоторую константу M, время выполнения алгоритма, T(n), становится не больше, чем куб от длины входа умноженный на константу, что для всех входов длины n
Рассмотрим утверждения: