data structures and algorithms how many cities with more than , people lie within miles of dallastexashow many people in my company make over $ , per yearcan we connect all of our telephone customers with less than , miles of cableto answer questions like theseit is not enough to have the necessary information we must organize that information in way that allows us to find the answers in time to satisfy our needs representing information is fundamental to computer science the primary purpose of most computer programs is not to perform calculationsbut to store and retrieve information -usually as fast as possible for this reasonthe study of data structures and the algorithms that manipulate them is at the heart of computer science and that is what this book is about -helping you to understand how to structure information to support efficient processing this book has three primary goals the first is to present the commonly used data structures these form programmer' basic data structure "toolkit for many problemssome data structure in the toolkit provides good solution the second goal is to introduce the idea of tradeoffs and reinforce the concept that there are costs and benefits associated with every data structure this is done by describingfor each data structurethe amount of space and time required for typical operations the third goal is to teach how to measure the effectiveness of data structure or algorithm only through such measurement can you determine which data structure in your toolkit is most appropriate for new problem the techniques presented also allow you to judge the merits of new data structures that you or others might invent there are often many approaches to solving problem how do we choose between themat the heart of computer program design are two (sometimes conflictinggoals