algorithms part ii