Computer Science ~ Contents - McGraw-Hill Books
Computer Science ~ Contents - McGraw-Hill Books
Computer Science ~ Contents - McGraw-Hill Books
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Computer</strong> <strong>Science</strong>Data Structures In CAnalysis Of AlgorithmsSTRUCTURING DATA AND BUILDINGALGORITHMSby Ian Chai, and Jonathon David White2006 / 448 pages / SoftcoverISBN-13: 978-0-07-125726-8 / MHID: 0-07-125726-8(Asian Publication)The famous mathematician, physicist, theologian, andphilosopher Sir Isaac Newton (1642–1727) once wrote, “If Ihave seen further [than certain other people], it is by standingon the shoulders of giants.” This is very true in computerprogramming as well. Imagine if all programmers had torediscover for themselves by trial and error how to solvecommon problems in programming! It is much better to learnthe solutions that other programmers have already discoveredand build upon that foundation.This book is about those foundational solutions. It describeshow to structure data and build algorithms to solve commonprogramming tasks. Some of these techniques have namesthat come from ordinary non-computer life – e.g. stacks,queues and sorting – and others have names that might becompletely unfamiliar to a new student of programming – e.g.recursion, backtracking and arrays – but they are all standardsin the programmer’s tool chest. Occasionally, a new tool isdiscovered – or at least, refined – and we include one whichwas just discovered in 1999 – introspective sort. But most ofthem have been part of the standard programmer’s tool chestfor decades. Unlike the majority of textbooks in this field, thisbook takes a “code first” approach. After a brief introductionof the concepts, a short complete ANSI-C program is presentedfor students to analyse. A number of questions arising from thecode are then posed and answered in the Socratic format. Inthis way, we hope that the reader will not only become fluentin the concepts but also in the “nuts and bolts” of translatingthese concepts into functioning, efficient standard C code.Variable pointer diagrams are developed and used extensivelyto aid understanding of the more complex data structures andtheir manipulation.CONTENTSPreface. About the Authors. Part 1: Structuring Data. 1 Structuring Data: Variablesand Pointers. 2 Structuring Data: Arrays and Records. 3 Structuring Data:Linked Lists. 4 Structuring Data: Trees. 5 Structuring Data: Graphs andSets. Part 2: Building Algorithms. 6 Building Algorithms: Basic Techniques.7 Building. Algorithms: Key Concepts. Part 3: Algorithms and Data Structures inAction. 8 Searching. 9 Sorting. 10 NP-hard Problems. Part 4: Theory ofComputing. 11 Finite State Automata. 12 Turing Machines. Appendix: AnnotatedBibliography. Answers to Problems. Index.NEWINTRODUCTION TO ALGORITHMSby Sanjoy Dasgupta, University of California–San Diego, ChristosH. Papadimitriou, University of California–Berkeley, and UmeshVazirani, University of California–Berkeley2007 (September 2006) / Softcover / 320 pagesISBN-13: 978-0-07-352340-8 / MHID: 0-07-352340-2Browse http://www.mhhe.com/dasguptaFEATURES• SPRINKLED WITH interesting stories about the development ofimportantalgorithms AS WELL AS ABOUT THEIR CURRENT USES IN THEGLOBAL INFORMATION ENVIRONMENT.• The book is concise and realistic; with key Design Issues andrationales that clearly outline the problems to be solveD and showhowto develop the algorithm...• Self contained chapters that provide a variety of perspectives onthe implementation of algorithmsThe authors cover THE essential algorithms that students need toknow,but are also thorough and rigorous; including coverage of linearprogramming and quantum computing (BOTH optional, BUTCOVERED IN NO OTHER BOOK).• This is a highly flexible text with self contained chapters: somesimple and others high level; that provide a variety of perspectives onthe analysis and design of algorithms.Carefully class tested at UCSD and UC Berkeley OVER 10 YEARS.• The book uses a unique approach for proofs and is intuitive andaccessible.CONTENTS0 Prologue. 1 Algorithms with Numbers. 2 Divide-and-conquer algorithms. 3Decompositions of graphs. 4 Paths in graphs. 5 Greedy algorithms. 6 DynamicProgramming. 7 Linear Programming and Reductions. 8 NP-complete Problems9 Coping with NP-completeness. 10 Quantum Algorithms.STRUCTURING DATA AND BUILDINGALGORITHMSby Ian Chai, and Jonathon David White2006 / 448 pages / SoftcoverISBN-13: 978-0-07-125726-8 / MHID: 0-07-125726-8(Asian Publication)The famous mathematician, physicist, theologian, andphilosopher Sir Isaac Newton (1642–1727) once wrote, “If Ihave seen further [than certain other people], it is by standingon the shoulders of giants.” This is very true in computerprogramming as well. Imagine if all programmers had torediscover for themselves by trial and error how to solvecommon problems in programming! It is much better to learnthe solutions that other programmers have already discoveredand build upon that foundation.This book is about those foundational solutions. It describeshow to structure data and build algorithms to solve commonprogramming tasks. Some of these techniques have namesthat come from ordinary non-computer life – e.g. stacks,queues and sorting – and others have names that might becompletely unfamiliar to a new student of programming – e.g.recursion, backtracking and arrays – but they are all standardsin the programmer’s tool chest. Occasionally, a new tool isdiscovered – or at least, refined – and we include one whichwas just discovered in 1999 – introspective sort. But most ofthem have been part of the standard programmer’s tool chestfor decades. Unlike the majority of textbooks in this field, this3415-60_CompSc.indd 3411/15/06 5:05:19 PM