Variables, expressions, assignments.- Generation of combinatorial objects.- Tree traversal (backtracking).- Sorting.- Finite-state algorithms in text processing.- Data types.- Recursion.- Recursive and non-recursive programs.- Graph algorithms.- Pattern matching.- Games analysis.- Optimal coding.- Set representation. Hashing.- Sets, trees, and balanced trees.- Context-free grammars.- Left-to-right parsing (LR).
This text is structured in a problem-solution format that requires the student to think through the programming process. New to the second edition are additional chapters on suffix trees, games and strategies, and Huffman coding as well as an Appendix illustrating the ease of conversion from Pascal to C.
This second edition contains problems from new topics including suffix trees, games and strategies, and Huffman coding
Good undergraduate introduction to programming course, especially one which is mathematically motivated
May also be used as a textbook in a graduate course on the analysis of algorithms and/or compiler construction
The "problem and solution" style makes the reader think through the programming process, making the book ideal for students in the classroom setting or for self study