100 Best Algorithms Books of All Time

We've ranked the best algorithms books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.

Introduction To Algorithms book cover1

Introduction To Algorithms

Thomas H. Cormen, Charles E. Leiserson, et al.

5.0
Data Structures and Algorithms in Java book cover3

Data Structures and Algorithms in Java

Robert Sedgewick and Kevin Wayne

4.7
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete da
Algorithms to Live By: The Computer Science of Human Decisions book cover4

Algorithms to Live By: The Computer Science of Human Decisions

Brian Christian and Griffiths

4.7
A fascinating exploration of how insights from computer algorithms can be applied to our everyday lives, helping to solve common decision-making problems and illuminate the workings of the human mind

All our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we
Cracking the Coding Interview: 189 Programming Questions and Solutions book cover5

Cracking the Coding Interview: 189 Programming Questions and Solutions

Gayle Laakmann McDowell

4.7
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer.

Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People book cover6

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People

Aditya Bhargava

4.7
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes
Algorithms book cover7

Algorithms

Sanjoy Dasgupta, Christos Papadimitriou, et al.

4.6
This 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 formal. Features include: The use of boxes to strengthen
Hello World: Being Human in the Age of Algorithms book cover8

Hello World: Being Human in the Age of Algorithms

Hannah Fry

4.5
A look inside the algorithms that are shaping our lives and the dilemmas they bring with them.

If you were accused of a crime, who would you rather decide your sentence—a mathematically consistent algorithm incapable of empathy or a compassionate human judge prone to bias and error? What if you want to buy a driverless car and must choose between one programmed to save as many lives as possible and
The Art of Computer Programming, Volumes 1-4a Boxed Set book cover9

The Art of Computer Programming, Volumes 1-4a Boxed Set

Donald E. Knuth

4.5
"The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.""--Byte," September 1995 Countless readers have spoken about the profound personal influence of Knuth's work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook"
Structure and Interpretation of Computer Programs book cover10

Structure and Interpretation of Computer Programs

Harold Abelson and Gerald Jay Sussman

4.5
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experienc
Algorithms Illuminated: The Basics (Part 1) book cover11

Algorithms Illuminated: The Basics (Part 1)

Tim Roughgarden

4.5
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject for anyone with at least a little programmin
Programming Pearls book cover12

Programming Pearls

Jon Bentley

4.5
The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem. - Steve McConnell When programmers list their favorite books, Jon Bentley's collection of
The Art of Computer Programming, Volume 1: Fundamental Algorithms book cover13

The Art of Computer Programming, Volume 1: Fundamental Algorithms

Donald E. Knuth

4.5
The first revision of this third volume is the most comprehensivesurvey of classical computer techniques for sorting and searching. It extends thetreatment of data structures in Volume 1 to consider both large and smalldatabases and internal and external memories. The book contains a selection ofcarefully checked computer methods, with a quantitative analysis of theirefficiency. Outstanding featur
Algorithms Demystified book cover14

Algorithms Demystified

Thomas H Cormen

4.4
Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is protected when you make a purchase over the Internet? The answer is algorithms. And how do these mathematical formulations translate themselves into your GPS, your laptop, or your smart phone? This book
Algorithm Design book cover15

Algorithm Design

Jon Kleinberg, Éva Tardos

4.4
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.
August 6, 2009 Author,
Problem Solving with Algorithms and Data Structures Using Python book cover16

Problem Solving with Algorithms and Data Structures Using Python

Bradley N. Miller and David L. Ranum

4.3
THIS TEXTBOOK is about computer science. It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A
Algorithms in a Nutshell book cover17

Algorithms in a Nutshell

George T. Heineman, Gary Pollice, Stanley Selkow

4.3
Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs. Algorithms in a Nutshell describes a large number of existing algorithms for solving a variety of problems, and helps you select and implement the right algorithm for your needs -- with just enough math to let you understand and analyze algorithm performance.

With its
Invisible Women: Data Bias in a World Designed for Men book cover18

Invisible Women: Data Bias in a World Designed for Men

Caroline Criado Perez

4.3
Imagine a world where your phone is too big for your hand, where your doctor prescribes a drug that is wrong for your body, where in a car accident you are 47% more likely to be seriously injured, where every week the countless hours of work you do are not recognised or valued. If any of this sounds familiar, chances are that you're a woman.

Invisible Women shows us how, in a world largely built fo
The Art of Computer Programming, Volumes 1-3 Boxed Set book cover19

The Art of Computer Programming, Volumes 1-3 Boxed Set

Donald E. Knuth

4.3
Knuth's classic work has been widely acclaimed as one of the most influential works in the field of computer science. For the first time, these books are available as a boxed, three-volume set. The handsome slipcase makes this set an ideal gift for the recent computer science graduate or professional programmer. Offering a description of classical computer science, this multi-volume work is a usef
The Art of Computer Programming: Volume 3: Sorting and Searching book cover20

The Art of Computer Programming: Volume 3: Sorting and Searching

Donald E. Knuth

4.3
The first revision of this third volume is the most comprehensivesurvey of classical computer techniques for sorting and searching. It extends thetreatment of data structures in Volume 1 to consider both large and smalldatabases and internal and external memories. The book contains a selection ofcarefully checked computer methods, with a quantitative analysis of theirefficiency. Outstanding featur
The Hundred-Page Machine Learning Book book cover21

The Hundred-Page Machine Learning Book

Andriy Burkov

4.3
WARNING! To avoid buying counterfeit on Amazon, click on "See All Buying Options" and choose "Amazon.com" and not a third-party seller.

Concise and to the point — the book can be read during a week. During that week, you will learn almost everything modern machine learning has to offer. The author and other practitioners have spent years learning these concepts.

Companion wiki — the book has a conti
The Singularity is Near: When Humans Transcend Biology book cover22

The Singularity is Near: When Humans Transcend Biology

Ray Kurzweil

4.3
The great inventor and futurist Ray Kurzweil is one of the best-known and controversial advocates for the role of machines in the future of humanity. In his latest, thrilling foray into the future, he envisions an event--thesingularity--in which technological change becomes so rapid and so profound that our bodies and brains will merge with our machines.

The Singularity Is Near portrays what life w
The Art of Computer Programming, Volume 2: Seminumerical Algorithms book cover23

The Art of Computer Programming, Volume 2: Seminumerical Algorithms

Donald E. Knuth

4.3
The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming. -Byte, September 1995 I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the li
Automate This: How Algorithms Came to Rule Our World book cover24

Automate This: How Algorithms Came to Rule Our World

Christopher Steiner

4.3
The rousing story of the last gasp of human agency and how today’s best and brightest minds are endeavoring to put an end to it.

It used to be that to diagnose an illness, interpret legal documents, analyze foreign policy, or write a newspaper article you needed a human being with specific skills—and maybe an advanced degree or two. These days, high-level tasks are increasingly being handled by al
Hacker's Delight book cover25

Hacker's Delight

Henry S. Warren Jr.

4.3
Aiming to tell the dark secrets of computer arithmetic, this title is suitable for library developers, compiler writers, and lovers of elegant hacks.
Information Theory, Inference and Learning Algorithms book cover26

Information Theory, Inference and Learning Algorithms

David J. C. MacKay

4.3
Information theory and inference, often taught separately, are here united in one entertaining textbook. These topics lie at the heart of many exciting areas of contemporary science and engineering - communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography. This textbook introduces theory in tandem with appli
Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy book cover27

Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy

Cathy O'Neil

4.3
Longlisted for the National Book Award
New York Times Bestseller


A former Wall Street quant sounds an alarm on the mathematical models that pervade modern life -- and threaten to rip apart our social fabric

We live in the age of the algorithm. Increasingly, the decisions that affect our lives--where we go to school, whether we get a car loan, how much we pay for health insurance--are being made not
Algorithms of Oppression: How Search Engines Reinforce Racism book cover28

Algorithms of Oppression: How Search Engines Reinforce Racism

Safiya Noble

4.3
Run a Google search for "black girls" - what will you find? "Big Booty" and other sexually explicit terms are likely to come up as top search terms. But, if you type in "white girls," the results are radically different. The suggested porn sites and un-moderated discussions about "why black women are so sassy" or "why black women are so angry" presents a disturbing portrait of black womanhood in m
Code: The Hidden Language of Computer Hardware and Software book cover29

Code: The Hidden Language of Computer Hardware and Software

Charles Petzold

4.3
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.

Using everyday objects and fam
The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1 book cover30

The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1

Donald E. Knuth

4.2
The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1 Knuth's multivolume analysis of algorithms is widely recognized as the definitive description of classical computer science. The first three volumes of this work have long comprised a unique and invaluable resource in programming theory and practice. Scientists have marveled at the beauty and elegance of Knuth's analysis
Introduction to Algorithms: A Creative Approach book cover31

Introduction to Algorithms: A Creative Approach

Udi Manber

4.2
This book emphasizes the creative aspects of algorithm design by examining steps used in the process of algorithms development. The heart of this creative process lies in an analogy between proving mathematical theorems by induction and designing combinatorial algorithms. The book contains hundreds of problems and examples. It is designed to enhance the reader's problem-solving abilities and under
Superintelligence: Paths, Dangers, Strategies book cover32

Superintelligence: Paths, Dangers, Strategies

Nick Bostrom

4.2
Superintelligence asks the questions: what happens when machines surpass humans in general intelligence? Will artificial agents save or destroy us? Nick Bostrom lays the foundation for understanding the future of humanity and intelligent life.

The human brain has some capabilities that the brains of other animals lack. It is to these distinctive capabilities that our species owes its dominant posi
Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers book cover33

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers

John MacCormick, Chris Bishop

4.2
Every day, we use our computers to perform remarkable feats. A simple web search picks out a handful of relevant needles from the world's biggest haystack: the billions of pages on the World Wide Web. Uploading a photo to Facebook transmits millions of pieces of information over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. Without even knowing it, we
Data Structures and Algorithms book cover34

Data Structures and Algorithms

Alfred V. Aho

4.2
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same concept. Algorithm design techniques are also stressed and basic algorithm analysis is covered. Most of the programs are written in Pascal.
Data Structures and Algorithms Made Easy book cover35

Data Structures and Algorithms Made Easy

Narasimha Karumanchi

4.2
Peeling Data Structures and Algorithms for (C/C++ version): • Programming puzzles for interviews • Campus Preparation • Degree/Masters Course Preparation • Instructor's • GATE Preparation • Big job hunters: Microsoft, Google, Amazon, Yahoo, Flip Kart, Adobe, IBM Labs, Citrix, Mentor Graphics, NetApp, Oracle, Webaroo, De-Shaw, Success Factors, Face book, McAfee and many more • Reference Manual for
The Nature of Code book cover36

The Nature of Code

Daniel Shiffman

4.2
How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algori
Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology book cover37

Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology

Dan Gusfield

4.2
Traditionally an area of study in computer science, string algorithms have, in recent years, become an increasingly important part of biology, particularly genetics. This volume is a comprehensive look at computer algorithms for string processing. In addition to pure computer science, Gusfield adds extensive discussions on biological problems that are cast as string problems and on methods develop
Algorithms Plus Data Structures Equals Programs (Prentice-Hall series in automatic computation) book cover38

Algorithms Plus Data Structures Equals Programs (Prentice-Hall series in automatic computation)

Niklaus Wirth

4.2
Code Complete book cover39

Code Complete

Steve McConnell

4.2
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge availab
Compilers: Principles, Techniques, and Tools book cover40

Compilers: Principles, Techniques, and Tools

Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman

4.2
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state mach
Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching book cover41

Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching

Robert Sedgewick

4.2
Concrete Mathematics: A Foundation for Computer Science book cover42

Concrete Mathematics: A Foundation for Computer Science

Ronald L. Graham, Donald E. Knuth, et al.

4.2
Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems."
Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures book cover43

Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures

Tim Roughgarden

4.2
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject for anyone with at least a little programmin
Elements of Programming Interviews in Java: The Insiders' Guide book cover44

Elements of Programming Interviews in Java: The Insiders' Guide

Adnan Aziz

4.2
This is a larger-format version of Elements of Programming Interviews in Java. Specifically, the font size is larger, and the page size is 7"x10" (the regular format uses 6"x9").

The content is identical.

This is the Java version of our book. See our website for links to the C++ version. Have you ever...




Wanted to work at an exciting futuristic company?
Struggled with an interview problem that could h
Elements of Programming Interviews in Python: The Insiders' Guide book cover45

Elements of Programming Interviews in Python: The Insiders' Guide

Adnan Aziz, Tsung-Hsien Lee, et al.

4.2
This is the Python version of our book. See the website for links to the C++ and Java version.Have you ever...


Wanted to work at an exciting futuristic company?
Struggled with an interview problem thatcould have been solved in 15 minutes?
Wished you could study real-world computing problems?
If so, you need to read Elements of Programming Interviews (EPI).

EPI is your comprehensive guide to interviewin
Purely Functional Data Structures book cover46

Purely Functional Data Structures

Chris Okasaki

4.2
Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functiona
Elements of Programming Interviews: The Insiders' Guide C++ book cover47

Elements of Programming Interviews: The Insiders' Guide C++

Adnan Aziz, Tsung-Hsien Lee, et al.

4.2
New! Java versions of all C++ programs in the book at http: //bit.ly/epi-programs Get a PDF sampler of EPI from http: //bit.ly/epi-sampler

Have you ever...

Wanted to work at an exciting futuristic company? Struggled with an interview problem that could have been solved in 15 minutes? Wished you could study real-world computing problems?

If so, you need to read Elements of Programming Interviews (EPI)
Deep Learning book cover48

Deep Learning

Ian Goodfellow, Yoshua Bengio, et al.

4.2
An introduction to a broad range of topics in deep learning, covering mathematical and conceptual background, deep learning techniques used in industry, and research perspectives.

Deep learning is a form of machine learning that enables computers to learn from experience and understand the world in terms of a hierarchy of concepts. Because the computer gathers knowledge from experience, there is no
Pattern Recognition and Machine Learning book cover49

Pattern Recognition and Machine Learning

Christopher M. Bishop

4.1
Pattern recognition has its origins in engineering, whereas machine learning grew out of computer science. However, these activities can be viewed as two facets of the same field, and together they have undergone substantial development over the past ten years. In particular, Bayesian methods have grown from a specialist niche to become mainstream, while graphical models have emerged as a general
How to Solve It: A New Aspect of Mathematical Method book cover50

How to Solve It: A New Aspect of Mathematical Method

George Pólya

4.1
A perennial bestseller by eminent mathematician G. Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be "reasoned" out--from building a bridge to winning a game of anagrams. Generations of readers have reli
The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution book cover51

The Man Who Solved the Market: How Jim Simons Launched the Quant Revolution

Gregory Zuckerman

4.1
Gregory Zuckerman, the bestselling author of The Greatest Trade Ever and The Frackers, answers the question investors have been asking for decades: How did Jim Simons do it?

Shortlisted for the Financial Times/McKinsey Business Book of the Year Award


Jim Simons is the greatest money maker in modern financial history. No other investor--Warren Buffett, Peter Lynch, Ray Dalio, Steve Cohen, or George S
Pearls of Functional Algorithm Design book cover52

Pearls of Functional Algorithm Design

Richard Bird

4.1
Richard Bird takes a radically new approach to algorithm design, namely, design by calculation. These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functi
Data Structures and Algorithms in Java book cover53

Data Structures and Algorithms in Java

Robert Lafore

4.1

Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graph

Hackers & Painters: Big Ideas from the Computer Age book cover54

Hackers & Painters: Big Ideas from the Computer Age

Paul Graham

4.1
“The computer world is like an intellectual Wild West, in which you can shoot anyone you wish with your ideas, if you’re willing to risk the consequences.” —from Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham

We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. W
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World book cover55

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World

Pedro Domingos

4.1
A thought-provoking and wide-ranging exploration of machine learning and the race to build computer intelligences as flexible as our own
In the world's top research labs and universities, the race is on to invent the ultimate learning algorithm: one capable of discovering any knowledge from data, and doing anything we want, before we even ask. In The Master Algorithm, Pedro Domingos lifts the veil
Approximation Algorithms book cover56

Approximation Algorithms

Vijay V. Vazirani

4.1
Although this may seem a paradox, all exact science is dominated by the idea of approximation. Bertrand Russell (1872-1970) Most natural optimization problems, including those arising in important application areas, are NP-hard. Therefore, under the widely believed con jecture that P -=/= NP, their exact solution is prohibitively time consuming. Charting the landscape of approximability of these p
The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions book cover57

The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions

Donald E. Knuth

4.1
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e ISBN: 0321751043 Art of Computer Programming, Vo
Introduction to the Design and Analysis of Algorithms book cover58

Introduction to the Design and Analysis of Algorithms

Anany Levitin

4.1
Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, Introduction to the Design and Analysis of Algorithms presents the subject in a coherent and innovative manner. Written in a student-friendly style, the book emphasizes the understanding of ideas over excessively formal treatment while thoroughly covering the material required in an introduc
Competitive Programming 3 book cover59

Competitive Programming 3

Steven Halim

4.1
Computer Science Distilled: Learn the Art of Solving Computational Problems book cover60

Computer Science Distilled: Learn the Art of Solving Computational Problems

Wladston Ferreira Filho and Raimondo Pictet

4.1
A foolproof walkthrough of must-know computer science concepts. Designed for readers who don't need the academic formality, it's a fast and easy computer science guide. It teaches essential concepts for people who want to program computers effectively. First, it introduces discrete mathematics, then it exposes the most common algorithms and data structures. It also shows the principles that make c
Artificial Intelligence: A Modern Approach book cover61

Artificial Intelligence: A Modern Approach

Stuart Russell and Peter Norvig

4.1
For one or two-semester, undergraduate or graduate-level courses in Artificial Intelligence. The long-anticipated revision of this best-selling text offers the most comprehensive, up-to-date introduction to the theory and practice of artificial intelligence. *NEW-Nontechnical learning material-Accompanies each part of the book. *NEW-The Internet as a sample application for intelligent systems-Adde
Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech book cover62

Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech

Sara Wachter-Boettcher

4.1
Buying groceries, tracking our health, finding a date: whatever we want to do, odds are that we can now do it online. But few of us realize just how many oversights, biases, and downright ethical nightmares are baked inside the tech products we use every day. It’s time we change that.


In Technically Wrong, Sara Wachter-Boettcher demystifies the tech industry, leaving those of us on the other side o
Algorithms for Optimization book cover63

Algorithms for Optimization

Mykel J. Kochenderfer

4.1
A comprehensive introduction to optimization with a focus on practical algorithms for the design of engineering systems.

This book offers a comprehensive introduction to optimization with a focus on practical algorithms. The book approaches optimization from an engineering perspective, where the objective is to design a system that optimizes a set of metrics subject to constraints. Readers will lea
The Art of Computer Programming, Volume 4, Fascicles 0-4 book cover64

The Art of Computer Programming, Volume 4, Fascicles 0-4

Donald Ervin Knuth

4.1
The Art of Computer Programming: Bitwise Tricks and Techniques; Binary Decision Diagrams v. 4, Fascicle 1 Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. The
An Introduction to the Analysis of Algorithms book cover65

An Introduction to the Analysis of Algorithms

Robert Sedgewick, Philippe Flajolet

4.1
People who analyze algorithms have double happiness. First of all they experience the sheer beauty of elegant mathematical patterns that surround elegant computational procedures. Then they receive a practical payoff when their theories make it possible to get other jobs done more quickly and more economically.... The appearance of this long-awaited book is therefore most welcome. Its authors are
Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching book cover66

Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching

Robert Sedgewick

4.1
Robert Sedgewick has thoroughly rewritten and substantially expanded and updated his popular work to provide current and comprehensive coverage of important algorithms and data structures. Christopher Van Wyk and Sedgewick have developed new C++ implementations that both express the methods in a concise and direct manner, and also provide programmers with the practical means to test them on real a
Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer) book cover67

Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer)

John Mongan, Noah Suojanen, Eric Giguère

4.1
The pressure is on during the interview process but with the right preparation, you can walk away with your dream job. This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent te
Learning From Data: A Short Course book cover68

Learning From Data: A Short Course

Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin

4.1
Machine learning allows computational systems to adaptively improve their performance with experience accumulated from the observed data. Its techniques are widely applied in engineering, science, finance, and commerce. This book is designed for a short course on machine learning. It is a short course, not a hurried course. From over a decade of teaching this material, we have distilled what we be
Introduction to the Theory of Computation book cover69

Introduction to the Theory of Computation

Michael Sipser

4.1

This highly anticipated revision builds upon the strengths of the previous edition. Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field. His innovative "proof idea" sections explain profound concepts in plain English. The new edition incorporates many improvements students and professors have suggested over the years, and offers updated, classroom

Advanced Data Structures book cover70

Advanced Data Structures

Peter Brass

4.1
Advanced Data Structures presents a comprehensive look at the ideas, analysis, and implementation details of data structures as a specialized topic in applied algorithms. Data structures are how data is stored within a computer, and how one can go about searching for data within. This text examines efficient ways to search and update sets of numbers, intervals, or strings by various data structure
Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra book cover71

Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra

David A. Cox

4.1
This text covers topics in algebraic geometry and commutative algebra with a strong perspective toward practical and computational aspects. The first four chapters form the core of the book. A comprehensive chart in the Preface illustrates a variety of ways to proceed with the material once these chapters are covered. In addition to the fundamentals of algebraic geometry the elimination theorem, t
Data Structures and Algorithms in Python book cover72

Data Structures and Algorithms in Python

Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser

4.1
Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for Python data structures. Designed to provide a comprehensive introduction to data structures and algorithms
Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming book cover73

Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming

Tim Roughgarden

4.1
Algorithms are the heart and soul of computer science. Their applications range from network routing and computational genomics to public-key cryptography and machine learning. Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews. Algorithms Illuminated is an accessible introduction to the subject for anyone with at least a little programmin
Machine Learning: A Probabilistic Perspective book cover74

Machine Learning: A Probabilistic Perspective

Kevin P. Murphy

4.0
A comprehensive introduction to machine learning that uses probabilistic models and inference as a unifying approach.

Today's Web-enabled deluge of electronic data calls for automated methods of data analysis. Machine learning provides these, developing methods that can automatically detect patterns in data and then use the uncovered patterns to predict future data. This textbook offers a comprehen
Applied Cryptography: Protocols, Algorithms, and Source Code in C book cover75

Applied Cryptography: Protocols, Algorithms, and Source Code in C

Bruce Schneier

4.0
"…the best introduction to cryptography I've ever seen. … The book the National Security Agency wanted never to be published." –Wired Magazine

"…monumental… fascinating… comprehensive… the definitive work on cryptography for computer programmers…" –Dr. Dobb's Journal

"…easily ranks as one of the most authoritative in its field." —PC Magazine

"…the bible of code hackers." –The Millennium Whole Earth
Mazes for Programmers: Code Your Own Twisty Little Passages book cover76

Mazes for Programmers: Code Your Own Twisty Little Passages

Jamis Buck

4.0
Unlock the secrets to creating random mazes! Whether you're a game developer, an algorithm connoisseur, or simply in search of a new puzzle, you're about to level up. Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbit
From Mathematics to Generic Programming book cover77

From Mathematics to Generic Programming

Alexander Stepanov

4.0
In this substantive yet accessible book, pioneering software designer Alexander Stepanov and his colleague Daniel Rose illuminate the principles of generic programming and the mathematical concept of abstraction on which it is based, helping you write code that is both simpler and more powerful. If you're a reasonably proficient programmer who can think logically, you have all the background you'l
A Discipline of Programming book cover78

A Discipline of Programming

Edsger W. Dijkstra

4.0
Genetic Algorithms in Search, Optimization, and Machine Learning book cover79

Genetic Algorithms in Search, Optimization, and Machine Learning

David E. Goldberg

4.0
This book brings together - in an informal and tutorial fashion - the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields. Major concepts are illustrated with running examples, and major algorithms are illustrated by Pascal computer programs. No prior knowledge of GAs or genetics is as
Graph Algorithms: Practical Examples in Apache Spark & Neo4j book cover80

Graph Algorithms: Practical Examples in Apache Spark & Neo4j

Mark Needham and Amy E. Hodler

4.0
Discover how graph algorithms can help you leverage the relationships within your data to develop more intelligent solutions and enhance your machine learning models. You'll learn how graph analytics are uniquely suited to unfold complex structures and reveal difficult-to-find patterns lurking in your data. Whether you are trying to build dynamic network models or forecast real-world behavior, thi
Windows Internals, Part 1: User Mode book cover81

Windows Internals, Part 1: User Mode

Pavel Yosifovich, Mark E. Russinovich, et al.

4.0
Delve inside Windows architecture and internals - and see how core components work behind the scenes. This classic guide has been fully updated for Windows 8.1 and Windows Server 2012 R2, and now presents its coverage in three volumes: Book 1, User Mode; Book 2, Kernel Mode; Book 3, Device Driver Models.

In Book 1, you'll plumb Windows fundamentals, independent of platform - server, desktop, tablet
Essential Algorithms: A Practical Approach to Computer Algorithms book cover82

Essential Algorithms: A Practical Approach to Computer Algorithms

Rod Stephens

4.0
A friendly and accessible introduction to the most useful algorithms

Computer algorithms are the basic recipes for programming. Professional programmers need to know how to use algorithms to solve difficult programming problems. Written in simple, intuitive English, this book describes how and when to use the most practical classic algorithms, and even how to create new algorithms to meet future ne
Mastering Algorithms with C book cover83

Mastering Algorithms with C

Kyle Loudon

4.0
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 y
Rise of the Robots: Technology and the Threat of a Jobless Future book cover84

Rise of the Robots: Technology and the Threat of a Jobless Future

Martin Ford

4.0
What are the jobs of the future? How many will there be? And who will have them? We might imagine—and hope—that today's industrial revolution will unfold like the last: even as some jobs are eliminated, more will be created to deal with the new innovations of a new era. In Rise of the Robots, Silicon Valley entrepreneur Martin Ford argues that this is absolutely not the case. As technology continu
Introduction to Machine Learning with Python: A Guide for Data Scientists book cover85

Introduction to Machine Learning with Python: A Guide for Data Scientists

Andreas C. Müller and Sarah Guido

4.0
Machine learning has become an integral part of many commercial applications and research projects, but this field is not exclusive to large companies with extensive research teams. If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your ima
Programming Challenges: The Programming Contest Training Manual book cover86

Programming Challenges: The Programming Contest Training Manual

Steven S. Skiena, Miguel A. Revilla

4.0
There are many distinct pleasures associated with computer programming. Craftsm- ship has its quiet rewards, the satisfaction that comes from building a useful object and making it work. Excitement arrives with the ?ash of insight that cracks a previously intractable problem. The spiritual quest for elegance can turn the hacker into an artist. Therearepleasuresinparsimony, insqueezingthelastdropof
Machine Learning book cover87

Machine Learning

Tom M. Mitchell

4.0
Mitchell covers the field of machine learning, the study of algorithms that allow computer programs to automatically improve through experience and that automatically infer general laws from specific data.
Data Structures and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles book cover88

Data Structures and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles

DS Publishing

4.0
Table of Contents: goo.gl/VLEUca
Sample Chapter: goo.gl/8AEcYk
Source Code: goo.gl/L8Xxdt

It is the Python version of "Data Structures and Algorithms Made Easy".

The sample chapter should give you a very good idea of the quality and style of our book. In particular, be sure you are comfortable with the level and with our Python coding style.

This book focuses on giving solutions for complex problems
Algorithms for Interviews book cover89

Algorithms for Interviews

Adnan Aziz, Amit Prakash

4.0
Algorithmic Puzzles book cover90

Algorithmic Puzzles

Anany Levitin, Maria Levitin

4.0
While many think of algorithms as specific to computer science, at its core algorithmic thinking is defined by the use of analytical logic to solve problems. This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with
The Most Human Human: What Talking with Computers Teaches Us About What It Means to Be Alive book cover91

The Most Human Human: What Talking with Computers Teaches Us About What It Means to Be Alive

Brian Christian

4.0
The Most Human Human is a provocative, exuberant, and profound exploration of the ways in which computers are reshaping our ideas of what it means to be human. Its starting point is the annual Turing Test, which pits artificial intelligence programs against people to determine if computers can “think.”

Named for computer pioneer Alan Turing, the Turing Test convenes a panel of judges who pose quest
How to Think About Algorithms book cover92

How to Think About Algorithms

Jeff Edmonds

4.0
There are many algorithm texts that provide lots of well-polished code and proofs of correctness. This book is not one of them. Instead, this book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author helps students avoid the common pit
Building Machine Learning Powered Applications: Going from Idea to Product book cover93

Building Machine Learning Powered Applications: Going from Idea to Product

Emmanuel Ameisen

4.0
Learn the skills necessary to design, build, and deploy applications powered by machine learning. Through the course of this hands-on book, you'll build an example ML-driven application from initial idea to deployed product. Data scientists, software engineers, and product managers with little or no ML experience will learn the tools, best practices, and challenges involved in building a real-worl
Computers and Intractability: A Guide to the Theory of NP-Completeness book cover94

Computers and Intractability: A Guide to the Theory of NP-Completeness

Michael R. Garey, David S. Johnson

4.0
In computer science, more specifically computational complexity theory, Computers and Intractability: A Guide to the Theory of NP-Completeness is an influential textbook by Michael Garey and David S. Johnson. It was the first book exclusively on the theory of NP-completeness and computational intractability. The book features an appendix providing a thorough compendium of NP-complete problems (whi
Modern B-Tree Techniques book cover95

Modern B-Tree Techniques

Goetz Graefe

4.0
Invented about 40 years ago and called ubiquitous less than 10 years later, B-tree indexes have been used in a wide variety of computing systems from handheld devices to mainframes and server farms. Over the years, many techniques have been added to the basic design in order to improve efficiency or to add functionality. Examples include separation of updates to structure or contents, utility oper
Think Like a Programmer: An Introduction to Creative Problem Solving book cover96

Think Like a Programmer: An Introduction to Creative Problem Solving

V. Anton Spraul

4.0
Rewire your brain

Examples in this book are written in C++, but will improve your ability to think like a programmer in any language.

The real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you wh
Guide to Competitive Programming: Learning and Improving Algorithms Through Contests book cover97

Guide to Competitive Programming: Learning and Improving Algorithms Through Contests

Antti Laaksonen

4.0
This invaluable textbook presents a comprehensive introduction to modern competitive programming. The text highlights how competitive programming has proven to be an excellent way to learn algorithms, by encouraging the design of algorithms that actually work, stimulating the improvement of programming and debugging skills, and reinforcing the type of thinking required to solve problems in a compe
Understanding Machine Learning: From Theory to Algorithms book cover98

Understanding Machine Learning: From Theory to Algorithms

Shai Shalev-Shwartz, Shai Ben-David

4.0
Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides an extensive theoretical account of the fundamental ideas underlying machine learning and the mathematical derivations that transform these principles into
Understanding Computation: From Simple Machines to Impossible Programs book cover99

Understanding Computation: From Simple Machines to Impossible Programs

Tom Stuart

4.0
Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming.

Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or L
Algorithms in C, Part 5: Graph Algorithms book cover100

Algorithms in C, Part 5: Graph Algorithms

Robert Sedgewick

4.0
Once again, Robert Sedgewick provides a current and comprehensive introduction to important algorithms. The focus this time is on graph algorithms, which are increasingly critical for a wide range of applications, such as network connectivity, circuit design, scheduling, transaction processing, and resource allocation. In this book, Sedgewick offers the same successful blend of theory and practice