|
Somebody once said that one may prove the correctness of an algorithm, but not of a program. One of the main goals of this book is to convince the reader that things are not so bad.
A well-known programmer, C.A.R. Hoare, said that the beauty of a program is not an additional benefit but a criterion that separates success from failure. If, while solving problems in this book, you come to appreciate the beauty of a wellwritten program with each part in its correct place, the author's goal will have been reached.
We have utilized the problem-solution format. Some sections are collections of problems having a common topic, while others are devoted to one specific algorithm (e.g., Section 14 covers LR(1)-parsing). The sections are more or less independent, but the concluding sections are more difficult. Sections 1-7 cover material usually included in undergradute courses while Sections 13-14 are more appropriate for a graduate compiler course. In each section we have tried to give problems at different levels starting with easy exercises. |
|
|
 AlgorithmsThis text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasis is placed on understanding the crisp mathematical idea behind each algorithm, in a manner that is intuitive and rigorous without being unduly... |  |  Algorithmic Adventures: From Knowledge to MagicThe public image of computer science does not reflect its true nature. The general public and especially high school students identify computer science with a computer driving license. They think that studying computer science is not a challenge, and that anybody can learn it. Computer science is not considered a scientific discipline but a... |  |  C# 4.0 in a Nutshell: The Definitive Reference
What people are saying about C# 4.0 in a Nutshell
"C# 4.0 in a Nutshell is one of the few books I keep on my desk as a quick reference. It is a book I recommend." --Scott Guthrie, Corporate Vice President, .NET Developer Platform, Microsoft Corporation
"A must-read for a concise but thorough... |
 97 Things Every Programmer Should Know: Collective Wisdom from the ExpertsProgrammers have a lot on their minds . Programming languages, programming techniques, development environments, coding style, tools, development process, deadlines, meetings, software architecture, design patterns, team dynamics, code, requirements, bugs, code quality. And more. A lot. There is an art, craft, and science to programming that... |  |  Microsoft Application Architecture Guide (Patterns & Practices)
Get the definitive guide on designing applications on the Microsoft application platform—straight from the Microsoft patterns & practices team. Learn how to choose the most appropriate architecture and the best implementation technologies that the Microsoft application platform offers applications developers. Get critical design... |  |  Assembly Language Step-by-Step: Programming with LinuxThe eagerly anticipated new edition of the bestselling introduction to x86 assembly language
The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and... |
|