# Computing Fibonacci Numbers Using Dynamic Programming, Matrices And Eigenvalues In O(logn)

The Fibonacci numbers are one of the most well studied recurrence relations in history. It’s also one of the coolest ways to get kids interested in math. The Fibonacci sequence is the following,

Quicksort is the most widely used sorting algorithms in practice. It works extremely well both in terms of time and space complexity compared to its counterparts. Given an unsorted list $x = [x_1, x_2, \ldots, x_n]$, quicksort works by picking a pivot, creating two sublists, one with elements strictly less than the pivot and the other with elements strictly greater than the pivot. Quicksort is later recursively called on both sublists. Below is pseudocode for quicksort