Общий тест по Computer Science — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Общий тест по Computer Science

Вариант 2400064496.


Ваше имя*:


Вопрос 1

GRE-CS-v01 2019-04-10 23-10-33 image0.png

На этой картинке

P1
указатель на первый элемент двухсвязного списка
P2
указатель на последний элемент этого списка

Рассмотрим утверждения:

I
Время, требуемое для удаление первого элемента списка, не зависит от длины этого списка.
II
Время, требуемое для удаление предпоследнего элемента списка, не зависит от длины списка.
III
Операция вставки (по индексу) требует столько же операций, как и для односвязного списка.
  1.  Только II + III
  2.  I + II + III
  3.  Только I
  4.  Только I + II
  5.  Только II

Вопрос 2

Проведем BFS-поиск (поиск в ширину), кратчайшего пути из A в Z:

[svg]

В каком порядке алгоритм посетит вершины?

  1.  A → C → F → D → E
  2.  A → C → F → E → B
  3.  A → C → D → F
  4.  A → C → B → D
  5.  A → C → E → B

Вопрос 3

Пусть у нас есть регулярные выражения R и S:

 R = (ab)|a
 S = (bc)|c

Какое слово может быть в языке L(RS)?

  1.  abbc
  2.  aabc
  3.  bcab
  4.  bca
  5.  abcc

Вопрос 4

Рассмотрим фрагмент программы на C:

int fibo (int n)
{
   if (n<2)
      return n;
   else
      return fibo(n-1)+fibo(n-2);
}

Что fibo вернет для n=7?

  1.  7
  2.  8
  3.  20
  4.  13
  5.  5

Вопрос 5

Рассмотрим дерево: [svg]

Что нельзя о нем сказать?

  1.  У дерева есть корень
  2.  Его высота — 2
  3.  Это бинарное дерево
  4.  Его можно обойти прямым и обратным обходом

Вопрос 6

Рассмотрим граф перехода конечного автомата (конечного преобразователя), пусть самое правое состояние у него будет принимающим.

GRE-CS-v01 2019-04-10 23-20-01 image0.png

Что неверно?

  1.  Все, что кончается на 101 — принимается.
  2.  Есть как минимум два принимаемых входа, которые на выходе выведут одно и то же → 11110
  3.  1011101 — принимается, а и выводится 1110110.
  4.  Принимаются входы 000101 и 10101.
  5.  1011101 — принимается

Вопрос 7

Рассмотрим фрагмент программы на C:

int fibo (int n)
{
   if (n<2)
      return n;
   else
      return fibo(n-1)+fibo(n-2);
}

Чтобы найти время выполнения T(n) для «fibo», предположим, что для некоторых констант a и b

  • T(0) = T(1) = a → т.к. положительная ветка ветвления в функции занимает констатное время.
  • T(2) = b +2a → т.е. негативная ветка в ветвлении занимает некую константу, плюс два рекурсивных вызова.

Следующим шагом, определим рекуррентное соотношение, которое, если решить, будет определять время работы T(n) через константы a и b. Выберите правильное.

  1.  


  2.  


  3.  


  4.  




  5.  



Вопрос 8

Рассмотрим контекстно-свободную грамматику:

 S → AB
 A → 1 | B1B
 B → 00A

Какую строку она может породить?

  1.  1001
  2.  11011110
  3.  0111
  4.  Ничего из перечисленного
  5.  0110

Вопрос 9

Отсортированный список из 500 чисел хранится в индексированном массиве. Чтобы найти определенный элемент-число, какое максимальное число поисковых операций нужно при…

  • последовательном поиске
  • бинарном поиске
  1.  250 и 9
  2.  250 и 8
  3.  25 и 7
  4.  500 и 250
  5.  500 и 9

Вопрос 10

Рассмотрим программу на C++:

#include <stdio.h>
 
int void main()
{
   int j=0, k=0;
   f(j);
   cout << j + k; 
}
 
void f (int& i)
{
   k = i + 3;
   i = k * i;
}

Напомним, что в C/C++, «int& i» — означает передачу целого параметра по ссылке.

Какое значение выведет программа?

  1.  3
  2.  12
  3.  0
  4.  Не скомпилируется
  5.  4
  6.  1