Hints on Exercise 1.5 and 1.6
Always, always, always be thinking about REUSING rather than RESTATING an
existing algorithm. So, if you've already been given an algorithm for
finding the smallest number in a list (as we did in class), don't spend
time describing that algorithm when you want to find the second smallest
number in the list. Assume you can always find the smallest, and that
you can remove any number you want from the list. Then your second-smallest
algorithm reduces to three very short sentences.
Likewise, once you've described an algorithm, you should refer to it instead of
repeating it, when using it in another algorithm.