This is an introductory-level algorithm book. It includes worked-out examples and detailed proofs. Presents Algorithms by type rather than application. Includes structured material by techniques employed, not by the application area, so readers can progress from the underlying abstract concepts to the concrete application essentials. It begins with a compact, but complete introduction to some necessary math. And it approaches the analysis and design of algorithms by type rather than by application.