Тест по Computer Science — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Тест по Computer Science, подготовил Участник:Ssyrovatkin

Вариант 3840916366.


Ваше имя*:


Вопрос 1

Пусть G = (V, E) неориентированный граф, какие утверждения ниже являются верными?

  • I. Если G является деревом, то между двумя любыми вершинами G существует единственный уникальный путь.
  • II. Если G = (V, E) является связным, и E = V - 1, тогда G является деревом.
  • III. Удаление ребра из цикла не может сделать граф несвязным.
  1.  Только II
  2.  Только III
  3.  Только I, II
  4.  I, II, III

Вопрос 2

Какие из следующих алгоритмов используют подход Разделяй и Властвуй?

  1.  Все выше перечисленные
  2.  Быстрая сортировка
  3.  Бинарный поиск и умножение Штрассена
  4.  Сортировка слиянием

Вопрос 3

Сколько остовных деревьев имеет данный граф (все ребра имеют одинаковый вес)?

[svg]

  1.  5
  2.  4
  3.  3
  4.  2

Вопрос 4

Пусть структура данных поддерживает операцию `foo`, таким образом, что последовательность из n операций `foo` занимает времени в худшем случае. Каково амортизационное время операции `foo`?

  1.  
  2.  
  3.  
  4.  

Вопрос 5

Запустим алгоритм Дейкстры, начиная с вершины S, чтобы найти кратчайший путь T, и рассмотрим следующие утверждения:

  • I. Алгоритм Дейкстры возвращает кратчайший путь с минимальным общим весом.
  • II. Алгоритм Дейкстры возвращает кратчайший путь с минимальным количеством ребер.

Какие из данных утверждений верны?

  1.  Только II
  2.  Только I
  3.  Ни одно
  4.  Оба

Вопрос 6

Что из перечисленного не может быть временной сложностью алгоритма быстрой сортировки ни в одном из средних, наилучших или наихудших случаев?

  1.  
  2.  
  3.  
  4.  

Вопрос 7

Рассмотрим следующие утверждения (h(k) — хэш-функция):

  • I. если даже .
  • II. для любых .
  • III. для любых .
  1.  Только I
  2.  I, II, III
  3.  Только I, II
  4.  Только II, III

Вопрос 8

Какая временная сложность выполнения данного кода?

for (i = n; i > 0; i/= 2){
    for (int j = 1; j < n; j * = 2){
        for (int k = 0; k < n; k + = 2){
        sum + = (i + j * k);
        }
    }
}
  1.  
  2.  
  3.  
  4.  

Вопрос 9

Пусть и что из ниже перечисленного является верным?

  1.  
  2.  
  3.  
  4.  

Вопрос 10

Сколько вершин имеет дерево с 57 ребрами?

  1.  58
  2.  56
  3.  57
  4.  2**6 — 4