Mastering algorithms with C

  • Authors:
  • Kyle London

  • Affiliations:
  • Jeppesen Data Plan, Los Gatos, CA

  • Venue:
  • Mastering algorithms with C
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

There are many books on data structures and algorithms, and some books laying out useful libraries of C functions, but this book aims to give you a unique combination of theoretical background and working code. In offering robust solutions for everyday programming tasks, Mastering Algorithms with C avoids the abstract style of most classic data structures and algorithms texts but still provides all 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 shown in the text. Full source code appears on the accompanying disk. 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 shows you how to use algorithms for sorting, searching, numerical analysis, data compression, data encryption, common graph problems, and computational geometry. He also describes the relative efficiency of all implementations. The compression and encryption chapters not only give you working code for reasonably efficient solutions, they explain 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: PointersRecursionAnalysis of algorithmsData structures (lists, stacks, queues, sets, hash tables, trees, heaps, priority queues, graphs)Sorting and searchingNumerical methodsData compressionData encryptionGraph algorithmsGeometric algorithms