Algorithms are the heart and soul of computer science. They are essential, found everywhere—from network routing and genomic calculations to cryptography and machine learning. "The Perfect Algorithm" will turn you into a true pro who can set tasks and masterfully solve them both in life and during job interviews for any IT company. If you have already advanced enough in asymptotic analysis, greedy algorithms, and dynamic programming, it's time to consider the concept of NP-hardness, which often causes genuine fear. Tim Rafgarden will show how to recognize an NP-hard problem, explain how to avoid solving from scratch, and help find efficient solutions.