Вариант 1764023754.
Рассмотрите следующую функцию
double power(double base, unsigned int exponent) { if (exponent == 0) return 1.0; else if (even(exponent)) return power(base*base, exponent/2); else return power(base*base, exponent/2)*base; }
Сколько умножений выполняется в результате использования вызова power(5.0, 12)?
(В эту сумму не включайте деления)
Шаблон проектирования Singleton используется, чтобы гарантировать, что может быть создан только один экземпляр класса
Что из приведенного ниже верно для этого шаблона проектирования?
Задача о кратчайшем пути для всех пар может быть определена следующим образом
Input
Направленный граф , где
Стоимость для всех , где тогда и только тогда, когда
Definition
длина кратчайшего пути от до для всех
Если нет пути от до , то
Если для всех
Problem
Определить для всех
Алгоритм Флойда-Уоршалла дает решение динамического программирования для определения массива для и по следующим условиям
длина кратчайшего пути от до , для которого все промежуточные узлы на этом пути находятся в (где никакие промежуточные узлы не допускаются, если
Тогда
Алгоритм вычисляет используя рекуррентность по , где начальный шаг задается следующим образом
для и
для всех
Каково время работы алгоритма Флойда-Уоршалла ?
Рассмотрите следующие возможные структуры данных для набора из n различных целых чисел
Для какой из этих структур данных требуется количество шагов, чтобы найти и удалить 7-й по величине элемент O(logn) в наихудшем случае?
Сортировка слиянием выполняется путем разделения списка из n чисел пополам, рекурсивной сортировки каждой половины и объединения двух половин
Какая из следующих структур данных позволит выполнить сортировку слиянием за раз?
Инвариантом для приведенного ниже цикла является и
x := b; k := n; z := 1; while (k != 0) { if odd(k) then z := z*x; x := x*x; k := [k/2]; }
Когда цикл завершается, что из перечисленного ниже должно быть истинным?
На конвейерном RISC-компьютере, где все арифметические команды имеют одинаковый CPI (cycles per instruction), какие из следующих действий улучшат время выполнения типичной программы?
Некоторый рандомизированный алгоритм A предназначен для определения, является ли данное положительное целое число n простым, путем генерации случайной битовой строки r и, основываясь на значениях n и r, путем вывода либо Yes (n является простым), либо No (n является составным)
Выполнение алгоритма А гарантирует следующее
На входе m алгоритм A выполняется k раз (k > 0) и генерирует случайную строку при i-м выполнении , где являются взаимно независимыми
Если m является составным, какова вероятность того, что в каждом из k различных вариантов выполнения результат A будет YES?
Некоторая конвейерная RISC-машина имеет 8 регистров общего назначения R0, R1, …, R7 и поддерживает следующие операции
ADD Rs1, Rs2, Rd Add Rs1 to Rs2 and put the sum in Rd MUL Rs1, Rs2, Rd Multiply Rs1 by Rs2 and put the product in Rd
Операция обычно занимает один цикл; однако операция занимает два цикла, если она дает результат, необходимый для выполнения непосредственно следующей операции в последовательности операций.
Рассмотрим выражение AB ABC BC + +, где переменные A, B, C находятся в регистрах R0, R1, R2
Если содержимое этих трех регистров не должно изменяться, то каково минимальное количество тактов требуется для последовательности операций, которая вычисляет значение AB ABC BC + +?
Выходные данные процедуры mystery зависят от используемого метода передачи параметров
procedure mystery a : integer; b : integer; procedure enigma(x,y) begin y = y + b; x = b + x; b = x + b; a = y; end enigma; begin a = 2; b = 7; enigma(a,b); write(a); write(b); end mystery;
Предположим, что все параметры передаются по значению
Какие из следующих значений выводятся при вызове процедуры mystery?