11.2. Заключительный тест

Повторим и закрепим всё, что мы узнали из курса

1.  Что оценивает O-нотация?
2. Какая из сложностей ниже самая большая?
3. Оцените алгоритмическую сложность следующего кода:
return Object
  .entries(object)
  .reduce(
    (accumulator, [key, vaulue]) => ({
      ...accumulator,
      [key]: value
    }),
    {}
  );
4. Каким должен быть массив, чтобы можно было искать быстрее, чем за O(n)?
5. При помощи какого концепта алгоритмы «Разделяй и властвуй» бьют задачи на более мелкие?
6. Какая минимальная сложность у сортировок, которые используют операции сравнения?
7. Какими методами обрабатываются коллизии в хеш-таблицах?
8. К каким структурам относится стек?
9. Чем динамическое программирование отличается от «Разделяй и властвуй»?