Asymptotic analysis allows the comparison of algorithms based on how their running time grows with input size rather than experimental testing. It involves analyzing an algorithm's pseudo-code to count primitive operations and expressing the running time using asymptotic notation like O(f(n)) which ignores constants. Common time complexities include constant O(1), logarithmic O(log n), linear O(n), quadratic O(n^2), and exponential O(2^n). Faster algorithms have lower asymptotic complexity.