Bulk sales, PO's, Marketplace Items, eBooks, Apparel, and DVDs not included.
Questions About This Book?
- The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any CDs, lab manuals, study guides, etc.
- The Rental copy of this book is not guaranteed to include any supplemental materials. You may receive a brand new copy, but typically, only the book itself.
Kevin Wayne also teaches in the Department of Computer Science at Princeton University. His research focuses on theoretical computer science, especially optimization and the design, analysis, and implementation of computer algorithms. Wayne received his PhD from Cornell University.
Table of Contents
|Elements of Programming|
|Your First Program Programming in Java Input and Output|
|Built-in Types of Data Definitions Characters and Strings Integers Floating-point numbers Booleans Comparisons Library methods and APIs Type conversion|
|Conditionals and Loops If statements While loops For loops Nesting Applications Infinite loops|
|Arrays Arrays in Java Coupon collector Sieve of Eratosthenes Two-dimensional arrays Example: self-avoiding random walks|
|Input and Output Birds-eye view Standard output Standard input Redirection and piping Standard drawing Standard audio|
|Case Study: Random Web Surfer Input format Transition matrix Simulation Mixing a Markov chain|
|Functions and Modules|
|Static Methods Using and defining static methods Properties of static methods Implementing mathematical functions Using static methods to organize code Implementing static methods for arrays Example: superposition of sound waves|
|Libraries and Clients Using static methods in other programs Libraries Random numbers Input and output for arrays Iterated function systems Standard statistics Modular programming|
|Recursion Your first recursive program Mathematical induction Euclids algorithm Towers of Hanoi Function call trees Exponential time Gray codes Recursive graphics Brownian bridge Pitfalls of recursion|
|Case Study: Percolation Percolation Basic scaffolding Vertical percolation Testing Estimating probabilities Recursive solution for percolation Adaptive plot|
|Data Types Basic definitions Color Digital image processing String processing String-processing application: genomics Input and output revisited Properties of reference types|
|Creating Data Types Basic elements of a data type Mutable types Complex numbers Mandelbrot set Commercial data processing Classical OOP example|
|Designing Data Types Designing APIs Encapsulation Immutability Spatial vectors Data mining Design-by-contract|
|Case Study: N-body Simulation Body data type Universe data type N-body simulation|
|Algorithms and Data Structures|
|Performance Observations Hypotheses Order of growth classifications Predictions Caveats Performance guarantees Memory|
|Sorting and Searching Binary search Insertion sort Mergesort Application: frequency counts Application: longest repeated substring|
|Stacks and Queues Pushdown stacks Array implementation Linked lists Array doubling Parameterized data types Stack applications FIFO queues Queue applications Iterable collections Resource allocation|
|Symbol Tables API Symbol table clients Binary search trees Performance characteristics of BSTs Traversing a BST Extended symbol table operations Set data type|
|Case Study: Small World Phenomenon Graphs Graph data type Graph client example Shortest paths in graphs Small-world graphs|
|Table of Contents provided by Publisher. All Rights Reserved.|