LearnViz CompSci
Home / Learn / Algorithms / Fast Fourier Transform

Advanced Topic 50 of 51 Algorithms

Fast Fourier Transform

Divide-and-conquer algorithm for the discrete Fourier transform.

How it works

The fast Fourier transform computes the discrete Fourier transform of n values in O(n log n) instead of O(n squared) by recursively splitting the input into even and odd indexes and combining results using roots of unity. It converts a signal between time and frequency domains, and it converts polynomial coefficients to point values, so multiplication becomes pointwise.

Step-by-step walkthrough

  1. A signal is a list of n samples in time.
  2. Split it into even and odd indexed samples.
  3. Split into the odd ones as well.
  4. Each half is transformed recursively with the same method.
  5. Butterfly steps combine halves with twiddle factors, O(n log n) instead of O(n squared).

Where it is used

Audio and image processing, spectral analysis, compression such as MP3 and JPEG, fast multiplication of large integers and polynomials, convolution, radar and wireless communications use the FFT.

Common pitfall

Input size is usually padded to a power of two. Floating-point rounding means integer results must be rounded, and large values lose precision, which number-theoretic transforms avoid. Mixing up forward and inverse transforms or forgetting to scale by 1/n gives wrong results. Windowing is needed to reduce spectral leakage.

Where it fits in the course

Fast Fourier Transform is topic 50 of 51 in Algorithms, rated Advanced. It follows Convex Hull. The next topic is Simulated Annealing.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Fast Fourier Transform?
Divide-and-conquer algorithm for the discrete Fourier transform. It belongs to Algorithms and is an advanced-level topic.
Where do people use Fast Fourier Transform?
Audio and image processing, spectral analysis, compression such as MP3 and JPEG, fast multiplication of large integers and polynomials, convolution, radar and wireless communications use the FFT.
What is the most common mistake with Fast Fourier Transform?
Input size is usually padded to a power of two.
What should I learn before this topic?
Start with Convex Hull, the topic just before it in Algorithms.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Algorithms quiz.
Is Fast Fourier Transform hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn Fast Fourier Transform?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Fast Fourier Transform?
Convex Hull, Simulated Annealing, Amortized Analysis are closely connected. The full list is in the related topics section of this page.
What should I study after Fast Fourier Transform?
Continue with Simulated Annealing, the next topic in Algorithms.

Related topics