There are many books on data structures & algorithms including some with useful libraries of C functions. Mastering Algorithms with C offers you a unique combination of theoretical background & working code. With robust solutions for everyday programming tasks this book avoids the abstract style of most classic data structures & algorithms texts but still provides all of the information you need to understand the purpose & use of common programming techniques. Implementations as well as interesting real-world examples of each data structure & algorithm are included. Using both a programming style & 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 & graphs. He explains how to use algorithms for sorting searching numerical analysis data compression data encryption common graph problems & computational geometry. & he describes the relative efficiency of all implementations. The compression & 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 & 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 & searching * Numerical methods * Data compression * Data encryption * Graph algorithms * Geometric algorithms