What does the growth of functions mean?

For a given set of functions f and g, the growth of functions states that the function g grows as fast as the function f. The growth rate of algorithms helps determine the algorithm's efficiency and compare its performance to other algorithms.

Asymptotic notations

Asymptotic notations are notations used to represent the best, worst, and average-case efficiency of an algorithm. In other words, these notations indicate the performance of the algorithms. Asymptotic notations are generally used to represent the time and space complexity of an algorithm.

Mainly, there are three types of asymptotic notations:

  1. Big-oh notation (O-notation)
  2. Big-omega notation (Ω-notation)
  3. Theta notation (θ-notation)

Big-oh notation (O-notation)

Big-oh notation represents the upper bound of the run time of an algorithm. It indicates the highest time that an algorithm can take for execution. The notation is generally used to indicate the worst-case running time of an algorithm.

For a function f(n) that cannot exceed another function g(n), the Big-Oh notation can be expressed as:

f(n) = O(g(n)), when f(n)  k. g(n) (For some positive constant k and n  n0)

Consider the following graph for more clarity.

Big-Oh notation graph

From the graph, it can be said that the value of f(n) is always less than or equal to g(n) for every value of n n0.

Big-omega notation (Ω-notation)

Big-Omega denotes the lower bound of the function. In other words, it asymptotically bounds the function from below. This notation is usually used to express the best-case running time of the algorithm.

For a given function f(n), the omega-notation will be expressed as:

f(n) = Ω(g(n)), when f(n)  k. g(n)(For some positive constant k and n n0)

Consider the following graph.

Big-omega notation graph

As shown in the graph, it can be said that when a function is represented with omega notation, the value of f(n) is always greater than or equal to g(n) for every value of n  n0.

Theta notation (θ-notation)

Theta notation represents that a function is asymptotically bounded from above and below. It is used to indicate that a function is tightly bounded.

For a function f(n), theta-notation will be given as:

f(n) = θ(g(n)), when k1.g(n)  f(n)  k2.g(n) (For some positive constants k1, k2, and n n0)

Consider the following graph for better understanding.

Theta notation graph

As shown above, the value of the function f(n) will not exceed the value of k2.g(n) and will not go below the value of k1.g(n).

Some common functions and their growth rates

Below are some common functions and how their growth rates vary as the input size varies.

Constant Functions

Constant functions are functions that have the same output for every input. For instance, the function y(x) = 2 is a constant function because the value of y(x) will always be 2 regardless of the input value x.

For such functions, the amount of time taken is always constant, regardless of the input size n.

Linear Functions

Linear functions are functions having a straight line. They can be polynomial functions with one or zero degrees. For example, the function f(x) = 3x - 2 is a linear function because it represents a single line passing through the x-axis. Such functions grow linearly depending on the input size n.

Quadratic Functions

Quadratic functions are functions having one or more than one variable, and the highest degree term is of the second degree. For example, the function f(x) = 2 x2+ 4x - 5 is a quadratic function.

Quadratic functions grow faster than linear functions.

Cubic Functions

Cubic functions are polynomial functions having the degree three where each term has a real coefficient. Example of a cubic function is f(x) = (x3 + 3 x2 6x  8).

Cubic functions grow faster than quadratic functions but slower than exponential functions. 

Exponential Functions

Exponential functions are functions whose value is a constant raised to the power of an argument (x). They are of the form f(x) =ex. Example of exponential functions are f(x) = e10.

Exponential functions are faster than all functions except factorial functions.

Logarithmic Functions

Logarithmic functions are the inverse of exponential functions. They can be denoted as f(b) = logab, where b, a > 0 and a is not equal to 0. For example, log856 is a logarithmic function.

Logarithmic functions are the slowest functions to grow.

Factorial Functions

Factorial functions multiply all the whole numbers from the current number down to 1. An exclamation mark denotes them (!). For instance, the factorial function 4! will be computed as 4 × 3 × 2 × 1.

The growth rate of factorial functions is the highest of the other functions listed here.

Graph for all functions

Consider the following graph representing the growth rate of all the functions mentioned above:

Graph representing growth rate of functions

According to this graph, it can be said that for a large input of size n, the growth rate of functions will be-

Factorial  Exponential  Cubic  Quadratic  Linear  Logarithmic  Constant

Context and Applications

Problems with growing functions are an essential topic in data structures and algorithms. The concept is taught in graduate and postgraduate courses like:

  • Bachelors in Computer Science
  • Masters in Computer Science
  • Bachelors in Information Technology
  • Masters in Information Technology

Practice Problems

Q1. Which of the following is not an asymptotic notation?

  1. Big-Oh notation
  2. Big-Omega notation
  3. Exponential decay model
  4. Theta notation

Answer: Option c

Explanation: The three asymptotic notations are big-oh, big-omega, and theta notations. The exponential decay model is not an asymptotic notation.

Q2. Which of the following asymptotic notations denote the upper bound of the running time of an algorithm?

  1. Big-Oh notation
  2. Euler isotope compounded notation
  3. Exponential decay model notation
  4. Artifact cdots browser notation

Answer: Option a

Explanation: The big-oh notation is used to represent the upper bound of the running time of an algorithm.

Q3. Which of the following functions has the highest growth rate?

  1. Enable algebraic function
  2. Factorial function
  3. Exponentially constant function
  4. Simplifying function

Answer: Option b

Explanation: The factorial function has the highest growth rate compared to linear, logarithmic, cubic, quadratic, exponential, and constant functions.

Q4. Why is it important to measure the growth rate of a function?

  1. It helps identify the algorithm’s efficiency.
  2. It helps solve decay equations.
  3. It verifies doubling time in word problems.
  4. It increases the exponential growth of JavaScript programs.

Answer: Option a

Explanation: By measuring the growth rate of a function, the efficiency of an algorithm can be determined.

Q5. Which of the following asymptotic notations represent that a function is tightly bound?

  1. Big-oh notation
  2. Theta notation
  3. Artifact
  4. Browser

Answer: Option b

Explanation: The theta notation represents that a function is asymptotically bound from above and below, and this indicates that the function is tightly bound.

Common Mistakes

The asymptotic notations big-oh, big-omega, and theta have minor differences in their definitions. Students should understand each of these concepts properly to avoid errors while writing and using these notations to represent the complexity of algorithms.

  • Recurrence relation
  • Amortized analysis of algorithms
  • Sorting algorithms
  • Complexity of algorithms
  • Hash function

Want more help with your computer science homework?

We've got you covered with step-by-step solutions to millions of textbook problems, subject matter experts on standby 24/7 when you're stumped, and more.
Check out a sample computer science Q&A solution here!

*Response times may vary by subject and question complexity. Median response time is 34 minutes for paid subscribers and may be longer for promotional offers.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

Algorithms

Growing Functions

Problems on Growing Functions

Problems on Growing Functions Homework Questions from Fellow Students

Browse our recently answered Problems on Growing Functions homework questions.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

Algorithms

Growing Functions

Problems on Growing Functions