Skip to main content
  • 509 Accesses

A polynomial-time algorithm is one whose running time grows as a polynomial function of the size of its input. Let x denote the length of the input to the algorithm (typically in bits, but other measures are sometimes used). Let T(x) denote the running time of the algorithm on inputs of length x. Then the algorithm is polynomial-time if the running time satisfies

$$ T(x) \le c_d x^d + c_{d-1} x^{d-1} + \cdots + c_1 x + c_0 $$

for all sufficiently large x, where the degree d ≥ 0 and the coefficients c d , …, c 0 are constants. It is easy to see that the running time will also satisfy the simpler bound

for a (possibly) larger constant c d , and (possibly) larger x. In O-notation, this would be written \(T(x) = O(x^d)\).

The term “polynomial” comes from the fact that the bound has same general form as a polynomial in x. The definition of polynomial-time is more general, however; in particular, it does not require that d be an integer.

The definition just given is somewhat informal; for...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 International Federation for Information Processing

About this entry

Cite this entry

Kaliski, B. (2005). Polynomial Time. In: van Tilborg, H.C.A. (eds) Encyclopedia of Cryptography and Security. Springer, Boston, MA . https://doi.org/10.1007/0-387-23483-7_307

Download citation

Publish with us

Policies and ethics