The document discusses mathematical analysis of algorithms, including both non-recursive and recursive algorithms. For non-recursive algorithms, it describes identifying the input size, basic operation, complexity case, and setting up a summation or recurrence relation to solve. For recursive algorithms, it similarly identifies these elements and sets up a recurrence relation to solve. It provides examples of analyzing algorithms for finding the largest array element, element uniqueness, matrix multiplication, factorial, Tower of Hanoi, and calculating number of bits to store a decimal number.