Chapter 14 is about "Divide and conquer".

Project work:
  OrderedVector, treeSort, quickSort, heapsort, Radix sort.

Section 14.1 Binary searches:  standard stuff
	Finding roots
		Safer than Newton on wriggly functions.
	Faster searches?

14.2 Ordered vector:  What is an iterator?
	typedef vector<T>::iterator iterator;
   is my guess at a missing line at the top of page 334.
   Perhaps in other code as well...

14.3 Balanced trees:
   Maintaining perfect balance is expensive.
   AVL trees are nearly balanced.
   Rotation:  You need to recall the name of the idea not the code.
	Notice: 2 mirror image rotations + 2 combined ones.
   Cool animation of AVL and other trees:

	In practice: Use the STL set/map/... 
	If you don't have a library that does it:
		Search the internet
		Go find a text book and look it up
	In the final:  I won't ask you to demo a rotation.. but no the idea!

14.4 TreeSort: project page 346.
   There are simpler version of treeSort.
   Balance is the complication
	In practice use the STL to get balanced trees.
	In the project: use the STL and trim Budd's code.

14.5 Pivoting
   I tend to call this partitioning:-(  Error in project4 requirements.
   Test function 'pivot' very carefully.
	It has a subtle bug....(*evil laughter*)
	There are simpler versions.
   An invariant or two would help correctness and understanding.
	For example: Values relative to pivot:
         ^            ^        ^       ^   
        start        low      high    stop
   Errata page 350, 353, ....

Quicksort:  uses partitioning/pivoting.
	Typically fast, sometimes slow.
	Anecdote from Bentley's "Programming Pearls"

More sorts to come.  Next Chapter 15 pt1