There are many books on data structures and algorithms, including some
with useful libraries of C functions. Mastering Algorithms with C
offers you a unique combination of theoretical background and working
code. With robust solutions for everyday programming tasks, this book
avoids the abstract style of most classic data structures and algorithms
texts, but still provides all of the information you need to understand
the purpose and use of common programming techniques.
Implementations, as well as interesting, real-world examples of each
data structure and algorithm, are included.
Using both a programming style and a writing style that are
exceptionally clean, Kyle Loudon shows you how to use such essential
data structures as lists, stacks, queues, sets, trees, heaps, priority
queues, and graphs. He explains how to use algorithms for sorting,
searching, numerical analysis, data compression, data encryption, common
graph problems, and computational geometry. And he describes the
relative efficiency of all implementations. The compression and
encryption chapters not only give you working code for reasonably
efficient solutions, they offer explanations of concepts in an
approachable manner for people who never have had the time or expertise
to study them in depth.
Anyone with a basic understanding of the C language can use this book.
In order to provide maintainable and extendible code, an extra level of
abstraction (such as pointers to functions) is used in examples where
appropriate. Understanding that these techniques may be unfamiliar to
some programmers, Loudon explains them clearly in the introductory
chapters.
Contents include:
- Pointers
- Recursion
- Analysis of algorithms
- Data structures (lists, stacks, queues, sets, hash tables, trees,
heaps, priority queues, graphs)
- Sorting and searching
- Numerical methods
- Data compression
- Data encryption
- Graph algorithms
- Geometric algorithms