Sold by Mighty Ape
This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman’s algorithm for generating optimal codes and alpha-beta pruning of game trees.
The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions. What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants!, the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments. This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified!) details of some algorithm or proof.We are committed to protecting your rights under the Consumer Guarantees Act and working with our suppliers to assist with warranty claims. Products sold by Mighty Ape will be covered by a Manufacturer's Warranty for at least a one-year period from the date of purchase.
Your warranty will cover any manufacturing defects which, if existing, will present themselves within this warranty period.
Your warranty will not cover normal wear and tear, faults caused by misuse, and accidents which cause damage or theft caused after delivery. Using the product in a way it is not designed for will void your warranty.
Please refer to our Help Centre for more information.