Eh, a decent explanation, but they left out the most interest, critical and complex part: how can you adapt an algorithm for problem 1 to an algorithm for problem 2?<p>Also, they toss around terms like "average case" and "worst case" pretty freely at the end. If this is really for someone who doesn't know any math/cs, these terms need explaining.<p>Still, a valiant attempt.