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
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...
Editor information
Editors and Affiliations
Rights 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
DOI: https://doi.org/10.1007/0-387-23483-7_307
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-23473-1
Online ISBN: 978-0-387-23483-0
eBook Packages: Computer ScienceReference Module Computer Science and Engineering