Algorithms for Programmers: Ideas and Source Code
by Jorg Arndt
Number of pages: 220
This is a draft of a book about selected algorithms. The audience in mind are programmers who are interested in the treated algorithms and actually want to create and understand working and reasonably optimized code.
Download or read it online for free here:
by Joerg Arndt
This is a book for a working programmer or anyone interested in methods of computation. The focus is on material that does not usually appear in textbooks on algorithms. We use the C++ programming language for low-level algorithms.
Contents: Algorithm Complexity; Big-O Notation; Trees; Binary Search Trees; Graph; Dijkstra's Algorithm; A* Pathfinding; Dynamic Programming; Kruskal's Algorithm; Greedy Algorithms; Catalan Number; Sorting; Searching; Pascal's Triangle; etc.
by Thomas Niemann
Collection of algorithms for sorting and searching, and techniques for implementing dictionaries, with brief and intuitive descriptions. It is assumed that you know C, and that you are familiar with concepts such as arrays and pointers.
This book shows how common algorithms are written in various programming languages, providing code implementations and explanation. Topics: Checksums; Date and time; Graphs; Hashing; Optimization; Search; Simulation; Sorting; String searching; etc.