Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs. This …