polynomial time
Polynomial time is the running-time budget that defines the class P, and the easiest way to feel it is by contrast. A polynomial-time algorithm's step count is bounded by some fixed power of the input size, like n, n^2, or n^5; the exponent is a constant nailed down in advance and never allowed to grow with n. An exponential-time algorithm, by contrast, has the input size up in the exponent, like 2^n, where every extra symbol of input doubles the work. The first kind scales; the second does not.
Formally, an algorithm runs in polynomial time if there is a constant k such that on every input of size n it halts within O(n^k) steps. Examples: scanning a list once is O(n), comparing all pairs is O(n^2), multiplying two n-by-n matrices the schoolbook way is O(n^3), all polynomial. The dividing test is whether n appears in the base (good: n^k) or in the exponent (bad: k^n). A sum, product, or composition of polynomials is again a polynomial, which is the algebraic reason P is closed under composition: a polynomial-time subroutine called a polynomial number of times by a polynomial-time program still runs in polynomial time overall.
Polynomial time earns its starring role through robustness: the polynomial-time version of the Church-Turing thesis (the Cobham-Edmonds thesis) observes that all reasonable deterministic computers simulate one another with only polynomial slowdown, so 'runs in polynomial time' means the same thing whether you reason about a Turing machine, a laptop, or pseudocode. That stability is what lets us speak of polynomial time as a property of the problem rather than of the gadget. Just keep the honest caveat in view: polynomial in principle is not the same as fast in practice when the exponent or constant is huge.
Multiplying two n-digit numbers with the grade-school method is O(n^2), polynomial. Checking all 2^n subsets of an n-element set to find one summing to a target is O(2^n), exponential. The tell is the position of n: n^2 has n in the base (polynomial), while 2^n has n in the exponent (exponential).
n in the base (n^k) is polynomial and scalable; n in the exponent (k^n) is exponential and not.
Polynomial means n^k for a FIXED constant k; n^n and 2^n are not polynomial. Polynomials are closed under sum, product, and composition, which is why P is closed under composition; but a polynomial with a vast exponent or constant is still impractical.