This chapter discusses algorithm analysis and asymptotic analysis of functions. It introduces the Big-O, Theta, little-o, and little-omega notations for classifying algorithms by their growth rates. Functions can have the same rate of growth (Theta), a slower rate (little-o), or a faster rate (little-omega). Rules are provided for manipulating Big-O expressions, and typical time complexities like constant, logarithmic, linear, quadratic, and exponential functions are covered.