A priori and a posteriori analysis are two methods for analyzing algorithms. A priori analysis involves determining the time and space complexity of an algorithm without running it on a specific system, while a posteriori analysis involves analyzing an algorithm after running it on a system. Big-O notation is commonly used to describe an algorithm's time complexity as the input size increases. Common time complexities include constant, logarithmic, linear, quadratic, and exponential time.