# 3.4. Glossary¶

**Algorithm:** A generic, step-by-step list of instructions for solving a problem.

**Average Case:** Refers to when an algorithm performs between its worst and best case given a certain data set or circumstance.

**Best Case:** Refers to when an algorithm performs especially good given a certain data set or circumstance.

**Big-O Notation:** Another term for order of magnitude; written as \(O(f(n))\).

**Brute Force:** Technique that tries to exhaust all possibilities of a problem.

**Contiguous:** Adjacent or next to.

**Dynamic Size:** Able to change size automatically.

**Exponential:** Function represented as a number being raised to a power that increases like \(f(n)= 2^{n}\).

**Linear:** Function that grows in a one to one relationship with its input like \(f(n) = n\).

**Logarithmic:** Functions that are the inverse of exponential functions usually presented as \(f(n) = logn\).

**Order of Magnitude:** Function describing the part \(T(n)\) that increases the fastest as the value of n increases (a function describing an algorithm’s steps as the size of the problem increases).

**Quadratic:** Function describing a relationship who’s highest order is a number squared:

*Simplified*: \(f(n) = x^{2}\)

*Complex*: \(ax^{2} + bx + c\)

**Worst Case:** Refers to when an algorithm performs especially poorly given a certain data set or circumstance.