💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page
  • Классы сложности: P, NP, coNP, NP-hard и NP-complete
  • Временная и пространственная сложность
  • Классы сложности

Сложностные классы

16.10.2024

Классы сложности: P, NP, coNP, NP-hard и NP-complete

В информатике существуют задачи, которые сложно решать, их объединяют в классы сложности. Эти классы описывают, сколько времени и памяти нужно, чтобы решить задачу или проверить решение.

Классы сложности показывают, насколько трудно решить или проверить задачу.

Временная и пространственная сложность

  • Временная сложность: сколько шагов/времени нужно, чтобы решить задачу.

  • Пространственная сложность: сколько памяти нужно для работы алгоритма.

Классы сложности

Класс сложности P

  • P — задачи, решаемые за полиномиальное время.

  • Решение легко найти.

  • Примеры:

    • НОД (наибольший общий делитель)

    • Сортировка слиянием

Класс сложности NP

  • NP — задачи, которые можно проверить за полиномиальное время.

  • Решение найти трудно, но легко проверить.

  • Примеры:

    • SAT (выполнимость логических формул)

    • Раскраска графов

Класс Co-NP

  • Co-NP — дополнение к NP, отрицательные ответы можно проверить за полиномиальное время.

  • Если задача в NP, её дополнение в Co-NP.

  • Примеры:

    • Проверка простоты числа

    • Факторизация чисел

NP-hard

  • NP-hard — задачи, не обязательно решаемые за полиномиальное время.

  • Проверка решения занимает много времени.

  • Примеры:

    • Проблема остановки

    • Нет гамильтонова цикла

NP-complete

  • NP-complete — задачи, которые одновременно NP и NP-hard.

  • Любую NP-задачу можно свести к NP-complete.

  • Примеры:

    • Гамильтонов цикл

    • Вершинное покрытие

Класс сложности

Описание

P

Легко решаются за полиномиальное время.

NP

Легко проверить решение за полиномиальное время.

Co-NP

Легко проверить отрицательный ответ за полиномиальное время.

NP-hard

Задачи сложнее, проверка решения занимает много времени.

NP-complete

NP и NP-hard задачи. Если решена одна, решены все.

PreviousОсновные принципы и стадии тестированияNextЭмуляторы операционных систем

Last updated 7 months ago