Practical Analysis of Algorithms (Undergraduate Topics in Computer Science)