Главная / Программирование /
Структуры и алгоритмы компьютерной обработки данных / Тест 41
Структуры и алгоритмы компьютерной обработки данных - тест 41
Упражнение 1:
Номер 1
Дана последовательность чисел: 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 8. Нумерация элементов начинается с нуля. Элемент с каким номером будет найден методом бинарного поиска по ключу key
=5?
Ответ:
 (1) 7 
 (2) 8 
 (3) 9 
 (4) 11 
Номер 2
Дана последовательность чисел: 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 7, 7, 8, 8, 8, 8. Нумерация элементов начинается с нуля. Элемент с каким номером будет найден методом бинарного поиска по ключу key
=8?
Ответ:
 (1) 14 
 (2) 15 
 (3) 16 
 (4) 17 
Номер 3
Дана последовательность n вещественных чисел. Необходимо найти число по ключу key
с точностью e
алгоритмом бинарного поиска. Оцените время выполнения алгоритма
Ответ:
 (1) O(n)
 
 (2) O(1+log n)
 
 (3) O(n/e)
 
 (4) O(log 1/e)
 
Упражнение 2:
Номер 1
Дан программный код. Какое значение возвращает функция Search
?
int Search(int *x, int k, int key){
int i;
for (i = k-1; i >=0 ; i--)
if ( x[i] == key )
break;
return i > 0 ? i : -1;
}
Ответ:
 (1) значение минимального элемента массива 
 (2) номер последнего минимального элемента массива 
 (3) номер последнего элемента, совпадающего с ключом поиска 
 (4) номер первого элемента, совпадающего с ключом поиска 
Номер 2
Дан программный код. Какое значение возвращает функция Search
?
int Search(int *x, int k, int key){
x = (int *)realloc(x,(k+1)*sizeof(int));
x[k] = key;
int i = 0;
while ( x[i] != key )
i++;
return i < k ? i : -1;
}
Ответ:
 (1) значение максимального элемента массива 
 (2) номер последнего максимального элемента массива 
 (3) номер последнего элемента, совпадающего с ключом поиска 
 (4) номер первого элемента, совпадающего с ключом поиска 
Номер 3
Дан программный код. Какое значение возвращает функция Search
?
int Search(int *x, int k, int key){
bool found = false;
int high = k - 1, low = 0;
int middle = (high + low) / 2;
while ( !found && high >= low ){
if (key == x[middle])
found = true;
else if (key < x[middle])
high = middle - 1;
else
low = middle + 1;
middle = (high + low) / 2;
}
return found ? middle : -1 ;
}
Ответ:
 (1) значение среднего элемента массива 
 (2) номер последнего элемента, совпадающего с ключом поиска 
 (3) номер первого элемента, совпадающего с ключом поиска 
 (4) номер элемента, совпадающего с ключом поиска 
Упражнение 3:
Номер 1
Размер хеш-таблицы HashTableSize =7
. Определите хеш-коды для первых пяти простых чисел, сформированные функцией Hash
int Hash(int Key, int HashTableSize) {
return Key % HashTableSize;
}
Ответ:
 (1) 1, 2, 3, 5, 0 
 (2) 2, 3, 5, 0, 4 
 (3) 0, 1, 2, 3, 4 
 (4) 2, 3, 5, 7, 4 
Номер 2
Хеш-таблица формируется методом середин квадратов. Определите хеш-коды для первых пяти двузначных простых чисел, сформированные функцией Hash
int Hash(int Key) {
return ((Key*Key)/10)%10 ;
}
Ответ:
 (1) 2, 6, 8, 6, 2 
 (2) 1, 1, 2, 3, 5 
 (3) 12, 16, 28, 36, 52 
 (4) 1, 9, 9, 1, 9 
Номер 3
Хеш-таблица формируется методом поразрядного сложения двузначных представлений цифр числа с последующим переводом результата в десятичное число. Определите хеш-коды для первых пяти двузначных составных чисел, сформированные функцией хеширования
Ответ:
 (1) 1, 1, 1, 1, 1 
 (2) 1, 3, 5, 6, 7 
 (3) 0, 2, 4, 5, 6 
 (4) 1, 3, 5, 5, 7 
Упражнение 4:
Номер 1
Технология данного метода хеширования состоит в том, что элементы множества, которым соответствует одно и то же хеш-значение, связываются в цепочку-список. О каком методе хеширования идет речь?
Ответ:
 (1) открытое хеширование 
 (2) закрытое хеширование 
 (3) таблица прямого доступа 
 (4) повторное хеширование 
Номер 2
При данном методе хешировании в хеш-таблице хранятся непосредственно сами элементы, а не заголовки списков элементов. Поэтому в каждой записи (сегменте) может храниться только один элемент. О каком методе хеширования идет речь?
Ответ:
 (1) открытое хеширование 
 (2) закрытое хеширование 
 (3) таблица прямого доступа 
 (4) повторное хеширование 
Номер 3
Если осуществляется попытка поместить элемент х в сегмент с номером h(x)
, который уже занят другим элементом, то в соответствии с данной методикой выбирается последовательность других номеров сегментов h1(x),h2(x),...
, куда можно поместить элемент х
. Каждое из этих местоположений последовательно проверяется, пока не будет найдено свободное. О какой методике хеширования идет речь?
Ответ:
 (1) открытое хеширование 
 (2) метод остатков от деления 
 (3) таблица прямого доступа 
 (4) повторное хеширование 
Упражнение 5:
Номер 1
Укажите, на какую позицию произойдет второе смещение начала подстроки при поиске в тексте по алгоритму Кнута, Морриса и Пратта. Строка: АВСКВАВСМКВ, подстрока: ВСМ. Нумерация в строке начинается с нуля
Ответ:
 (1) 6 
 (2) 4 
 (3) 1 
 (4) 0 
Номер 2
Составьте таблицу смещений при поиске подстроки в строке по алгоритму Бойера и Мура. Строка: АВВОМРАВАВМАВ, подстрока: ВАВ. Нумерация в строке начинается с нуля
Ответ:
 (1) 1, 2, 7 
 (2) 0, 1, 2, 7 
 (3) 0, 1, 4, 5, 6, 7 
 (4) 0, 1, 2, 3, 4, 5, 6, 7 
Номер 3
Укажите, на какую позицию произойдет пятое смещение начала подстроки при поиске в тексте по алгоритму Бойера и Мура. Строка: АВСССКВАВСМВВВК, подстрока: ВСМ. Нумерация в строке начинается с нуля
Ответ:
 (1) 4 
 (2) 6 
 (3) 11 
 (4) подстрока будет найдена меньше, чем за 5 смещений 
Упражнение 6:
Номер 1
Дано случайное дерево поиска. Укажите примеры входных последовательностей, которые могли бы сформировать данное дерево
Ответ:
 (1) 1, 2, 6, 8, 3, 4 
 (2) 1, 2, 3, 6, 8, 4 
 (3) 1, 2, 6, 3, 8, 4 
 (4) 1, 2, 6, 8, 4, 3 
Номер 2
На схеме показано вращение АВЛ-дерева. Определите вид вращения
Ответ:
 (1) малое правое 
 (2) большое правое 
 (3) малое левое 
 (4) большое левое 
Номер 3
Дано упорядоченное бинарное дерево. Укажите позицию вставки элемента с ключом 3 в это дерево, чтобы соблюдалась балансировка дерева
Ответ:
 (1) левый потомок 8 
 (2) правый потомок 6 
 (3) левый потомок 2 
 (4) правый потомок 2 
Упражнение 7:
Номер 1
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите код символа 'е'. Считать, что очередной бит кода начинает формироваться с единицы
Ответ:
 (1) 10 
 (2) 110 
 (3) 111 
 (4) 1110 
Номер 2
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите среднюю длину кодового слова, которая равна сумме произведений вероятности на длину кода каждого символа соответственно. Считать, что очередной бит кода начинает формироваться с единицы
Ответ:
 (1) 4 
 (2) 3 
 (3) 2,8 
 (4) 2,14 
Номер 3
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите длину кода символа 'b'. Считать, что очередной бит кода начинает формироваться с единицы
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Упражнение 8:
Номер 1
Определите коэффициент сжатия текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Размер входной последовательности на 1 байт больше ее длины
Ответ:
 (1) 88/15 
 (2) 88/3 
 (3) 4 
 (4) 8 
Номер 2
Выполните кодирование текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Считать, что очередной бит кода начинает формироваться с единицы
Ответ:
 (1) 00011000000101000010 
 (2) 101001101011100 
 (3) 100111010010010 
 (4) 101111001111 
Номер 3
Дано кодовое дерево. Каким из представленных строк оно соответствует?
Ответ:
 (1) aaccwwcc 
 (2) aaaaccwwss 
 (3) aaaaccccccwwssss 
 (4) caws