There’s a lot more to algorithms than the useful-but-boring recipes you recite for every interview. This unique book introduces a collection of amazing algorithms that have the potential to change the way you program.
Eric Lippert is a renowned expert in programming languages and compilers, known for his work at Microsoft, Coverity and Facebook. With experience designing languages like C# and Hack, Eric brings a deep and insightful perspective to his writing. He explains complex computer science concepts in a clear and engaging way that inspires programmers to think differently.
Innehållsförteckning
1 STARTING A FABULOUS ADVENTURE PART 1: EXTENDING THE BASICS 2 IMMUTABLE STACKS AND QUEUES 3 AN IMMUTABLE DEQUE 4 MEMOIZING IMMUTABLE QUADTREES TO MAKE A BETTER LIFE 5 WHAT'S UP WITH YOU, DIRECTED ACYCLIC WORD GRAPH? 6 COMBINATORIAL ALGORITHMS 7 INTERLUDE ONE: BASIC CATEGORY THEORY FOR PROGRAMMERS PART 2: SEARCHING, SOLVING, INFERRING 8 COLORING GRAPHS WITH BACKTRACKING SEARCH 9 GREEDY ITERATIVE PRETTY PRINTING 10 UNIFICATION OF BINARY TERMS 11 ANTI-UNIFICATION OF BINARY TERMS 12 INTERLUDE TWO: MONADS PART 3: PROBABILITIES 13 A BETTER ABSTRACTION FOR RANDOMNESS 14 THE ALIAS ALGORITHM FOR THE CATEGORICAL DISTRIBUTION 15 CONDITIONAL PROBABILITY WITH BAYES' THEOREM 16 INTERLUDE THREE: THE PROBABILITY MONAD 17 MARKOV PROCESSES 18 CONTINUOUS DISTRIBUTIONS WITH THE METROPOLIS ALGORITHM