База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

В хеш-реализации множества хеш-функция принимает 4 различныезначения с равной вероятностью, т.е. множество представляетсяв виде объединения четырех непересекающихся подмножеств. Пустьмножество содержит 4 элемента. Какова вероятность того,что все подмножества будут непустыми?

(Отметьте один правильный вариант ответа.)

Варианты ответа
Вероятность равна 0.09375 (Верный ответ)
Вероятность равна 0.75
Вероятность равна 0.90625
Вероятность равна 0.25
Похожие вопросы
В хеш-реализации множества хеш-функция принимает 5 различныхзначений с равной вероятностью, т.е. множество представляетсяв виде объединения пяти непересекающихся подмножеств. Пустьмножество содержит 3 элемента. Какова вероятность того,что все они попадут в разные подмножества?
В хеш-реализации множества хеш-функция принимает 10различных значений с равной вероятностью. Пусть множество содержит3 элемента. Какова вероятность коллизии? (Коллизиейназывается ситуация, когда у двух элементов значенияхеш-функции совпадают.)
Рассмотрим непрерывную реализацию множества с помощьюбинарного поиска. Пусть множество содержит миллион элементов.Сколько операций сравнения может быть выполнено при поискеэлемента?
Элементы множества хранятся в массиве в возрастающемпорядке. Пусть множество содержит 10 элементов.Сколько операций сравнения достаточно выполнить,чтобы найти произвольный элемент в множестве или убедиться в егоотсутствии?
Элементы множества хранятся в массиве в возрастающемпорядке. Пусть множество содержит 12 элементов.Сколько операций сравнения достаточно выполнить,чтобы найти произвольный элемент в множестве или убедиться в егоотсутствии?
Выражение содержит числа, переменные, круглые скобки и знакичетырех арифметических операций. Его можнопреобразовывать, пользуясь известными свойствамиарифметических операций. Значения переменных сообщаютсятолько после того, как выражение преобразовано в удобную длявычисления форму. Какой максимальной глубины стека достаточно,чтобы вычислить значение любого такого выражения с помощьюстекового калькулятора (записывать промежуточные результатына бумаге запрещено)?
Рассмотрим два способа представления матрицы размера4×4. В первом случае используется массив из четырехэлементов типа «массив из четырех элементов»:
    double a[4][4];
Во втором случае используется массив из четырехэлементов типа «указатель на double»:
    double *a[4];
при этом элемент a[i] содержит адресначала i-й строки матрицы.В обоих случаях обращение к элементу матрицы с индексамиi, j осуществляется с помощью выражения
    a[i][j].
Есть ли существенная разница в эффективности программыв первом и втором случаях при использовании оптимизирующегокомпилятора?
Выражение содержит числа, переменную x и знаки четырехарифметических операций (переменная x можетиспользоваться многократно). Выражение можно преобразовывать,пользуясь известными свойствами арифметических операций.Значение переменной x сообщается только после того,как выражение преобразовано в удобную для вычисления форму.Какой максимальной глубины стека достаточно, чтобы вычислитьзначение любого такого выражения с помощью стековогокалькулятора (записывать промежуточные результаты на бумагезапрещено)?
Выражение содержит числа, переменную x и знаки трехарифметических операций +, -, × (нет операции деления);переменная x может использоваться многократно.Выражение можно преобразовывать, пользуясь известнымисвойствами арифметических операций. Значение переменной xсообщается только после того, как выражение преобразовано вудобную для вычисления форму. Какой максимальной глубиныстека достаточно, чтобы вычислить значение любого такоговыражения с помощью стекового калькулятора (записыватьпромежуточные результаты на бумаге запрещено)?
Пусть f(x) — целочисленная функция от целочисленногоаргумента. Определить,содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа корень функциицел a, b, c;. . .утверждение: a < b  и  f(a) * f(b) <= 0;// Значения функции на концах отрезка [a,b] разных знаковцикл пока b - a > 1| инвариант: f(a) * f(b) <= 0| // Делим отрезок [a, b] пополам| c := (a + b) / 2; // c -- целая часть (a+b)/2| если f(a) * f(c) < 0| | то    b := c;   // выбираем левую половину отрезка| | иначе a := c;   // выбираем правую половину отрезка| конец есликонец циклаутверждение: a == b - 1  и  f(a) * f(b) <= 0;