игра брюс 2048
Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 41

Структуры и алгоритмы компьютерной обработки данных - тест 41

Упражнение 1:
Номер 1
Дана последовательность чисел: 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 8. Нумерация элементов начинается с нуля. Элемент с каким номером будет найден методом бинарного поиска по ключу key=5?

Ответ:

 (1)

 (2)

 (3)

 (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)

 (2)

 (3)

 (4)


Номер 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)

 (2)

 (3) 11 

 (4) подстрока будет найдена меньше, чем за 5 смещений 


Упражнение 6:
Номер 1
Дано случайное дерево поиска. Укажите примеры входных последовательностей, которые могли бы сформировать данное дерево
		files
		

Ответ:

 (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
На схеме показано вращение АВЛ-дерева. Определите вид вращения
		files
		

Ответ:

 (1) малое правое 

 (2) большое правое 

 (3) малое левое 

 (4) большое левое 


Номер 3
Дано упорядоченное бинарное дерево. Укажите позицию вставки элемента с ключом 3 в это дерево, чтобы соблюдалась балансировка дерева
		files
		

Ответ:

 (1) левый потомок 8 

 (2) правый потомок 6 

 (3) левый потомок 2 

 (4) правый потомок 2 


Упражнение 7:
Номер 1
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите код символа 'е'. Считать, что очередной бит кода начинает формироваться с единицы
		
abcde
0,40,150,220,050,18

Ответ:

 (1) 10 

 (2) 110 

 (3) 111 

 (4) 1110 


Номер 2
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите среднюю длину кодового слова, которая равна сумме произведений вероятности на длину кода каждого символа соответственно. Считать, что очередной бит кода начинает формироваться с единицы
		
abcde
0,40,150,220,050,18

Ответ:

 (1)

 (2)

 (3) 2,8 

 (4) 2,14 


Номер 3
Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите длину кода символа 'b'. Считать, что очередной бит кода начинает формироваться с единицы
		
abcde
0,40,150,220,050,18

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 8:
Номер 1
Определите коэффициент сжатия текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Размер входной последовательности на 1 байт больше ее длины

Ответ:

 (1) 88/15 

 (2) 88/3 

 (3)

 (4)


Номер 2
Выполните кодирование текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Считать, что очередной бит кода начинает формироваться с единицы

Ответ:

 (1) 00011000000101000010 

 (2) 101001101011100 

 (3) 100111010010010 

 (4) 101111001111 


Номер 3
Дано кодовое дерево. Каким из представленных строк оно соответствует?
		files
		

Ответ:

 (1) aaccwwcc 

 (2) aaaaccwwss 

 (3) aaaaccccccwwssss 

 (4) caws 




Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 41