Полиномијално време
У теорији комплексности, полиномијално време се односи на време израчунавања проблема, где време, m(n), није веће од полиномијалне функције величине проблема, n. Математички записано у нотацији великог О, ово значи где је k нека константа која може зависити од проблема. На пример, алгоритам за сортирање квиксорт за n бројева захтева највише операција. Стога му је потребно време , па се ради о алгоритму полиномијалног времена.
Математичари некада користе појам полиномијалног времена у односу на дужину улаза као дефиницију брзог рачунања, као супротност супер-полиномијалном времену, које се односи на све шта је спорије од тога. Експоненцијално време је пример супер-полиномијалног времена.
Класа комплексности проблема одлучивања који могу бити решени детерминистичком Тјуринговом машином у полиномијалном времену је позната као класа П. Класа проблема одлучивања чије се потенцијално решење може проверити у полиномијалном времену је се назива класом НП. Еквивалентно, НП је класа проблема одлучивања који се могу решити у полиномијалном времену недетерминистичком Тјуринговом машином (НП значи Недетерминистичко Полиномијално време).
Подкласе полиномијалног времена
уреди- Константно време: O(1)
- Линеарно време: O(n)
- Квадратно време: O(n2)
- Кубно време: O(n3)
Алгоритми којима је потребно линеарно, логаритамско и константно време су бржи подскуп алгоритама који захтевају полиномијално време.