Free Downloads
Mastering Algorithms With C

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.

Series: Mastering

Paperback: 562 pages

Publisher: O'Reilly Media; 1 edition (August 15, 1999)

Language: English

ISBN-10: 1565924533

ISBN-13: 978-1565924536

Product Dimensions: 7 x 1.2 x 9.2 inches

Shipping Weight: 2.4 pounds (View shipping rates and policies)

Average Customer Review: 3.8 out of 5 stars  See all reviews (26 customer reviews)

Best Sellers Rank: #111,855 in Books (See Top 100 in Books) #31 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > Tutorials #32 in Books > Textbooks > Computer Science > Artificial Intelligence #46 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C

C programming is still with us because of its high performance ability and this book outlines several algorithms using the language. It begins with a classification of algorithms as randomized, divide-and-conquer, dynamic programming, greedy and approximation. Some algorithms the author states defy classiification but he does not give examples. Pointers are discussed in the next chapter, and covers how to avoid dangling pointers, memory allocation, pointers to data structures, function parameters, double pointers, and generic and function pointers. The chapter is clearly written and diagrams are used frequently to illustrate the uses and properties of pointers. The author in particular gives an excellent explanation of how C can simulate call-by-reference parameter passing. This capability in C can be a source of trouble to the newcomer to C. The author does not however discuss triple pointers in this chapter, in spite of their great utility in computational geometry and computational radiology. Void pointers and casting are discussed in detail though, and the author does a good job. Only a cursory discussion of function pointers is given; I would have preferred many more examples to be given. Recursion and tail-recursion are discussed in Chapter 3, with the factorial function used to illustrate the differences. Computational complexity and the O-notation are covered in the next chapter, with the treatment pretty sparse but clear. Linked lists, extremely useful in all areas of engineering and science, are discussed effectively in Chapter 5. Eleven linked list macross, thirteen doubly linked list macros, and eight circular list macros are discussed and the complexity of each given. Virtual memory and paging are given as examples of applications of linked lists.

Mastering Adoption Law and Policy (Mastering Series) (Carolina Academic Press Mastering) Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms Applied Cryptography: Protocols, Algorithms, and Source Code in C [ APPLIED CRYPTOGRAPHY: PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C BY Schneier, Bruce ( Author ) Nov-01-1995 Practical Algorithms in Pediatric Hematology and Oncology: (Practical Algorithms in Pediatrics. Series Editor: Z. Hochberg) Combinatorial Optimization: Theory and Algorithms (Algorithms and Combinatorics) Geometric Algorithms and Combinatorial Optimization (Algorithms and Combinatorics) Mastering Algorithms with C Mastering Secured Transactions (UCC Article 9), Second Edition (Carolina Aademic Press Mastering) Mastering Negotiable Instruments: Ucc Articles 3 and 4 and Other Payment Systems (Mastering Series) Mastering Tort Law (Carolina Academic Press Mastering) Mastering Elder Law, Second Edition (Carolina Academic Press Mastering) Mastering Jujitsu (Mastering Martial Arts Series) Mastering German Vocabulary: A Thematic Approach (Mastering Vocabulary) Principles of Robot Motion: Theory, Algorithms, and Implementations (Intelligent Robotics and Autonomous Agents series) Game Programming Algorithms and Techniques: A Platform-Agnostic Approach (Game Design) Principles of Digital Image Processing: Core Algorithms (Undergraduate Topics in Computer Science) Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery (The Morgan Kaufmann Series in Data Management Systems) Active Noise Control Systems: Algorithms and DSP Implementations (Wiley Series in Telecommunications and Signal Processing)