Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of How to Think About Algorithms

    How to Think About Algorithms

    Jeff Edmonds · 2008

    This textbook, for second- or third-year students of computer science, presents insights, notations, and analogies to help them describe and think about algorithms like an expert, without grinding through lots of formal proof. Solutions to many problems are provided to let students check their progress, while class-tested PowerPoint slides are on the web for anyone running the course. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author guides students around the common pitfalls. He stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms. The book fosters a deeper understanding of how and why each algorithm works. These insights are presented in a careful and clear way, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.

    Computer Science
    Open LibraryAmazon
    Stats for nerds
    4recommend
    6mentions
    4people
    2012–2025years
    100% recommend

    Mentions per year

    20122014201620182020202220242025

    What Hacker News says

    1. rramadassJul 2025
      Folks might find the following two books useful in this regard;

      How to Think About Algorithms by Jeff Edmonds.

      Persuasive Programming by Jerud Mead and Anil Shinde.

      thread
    2. rramadassNov 2021
      There are literally hundreds of threads with this topic on the Web. Most of them contain the same standard references which IMO are not always the best for people without much mathematical maturity and wishing to learn from first principles. That said, here are my recommendations for them (pdfs of almost all are available online and they can also be purchased cheaply as used books);

      * 1) Functions and Graphs and 2) The Method of Coordinates by I.M.Gelfand et. al. - These give you the basics on functions and how to visualize them which is crucial for understanding.

      * Introductory Logic and Sets for Computer Scientists by Nimal Nissanke - Nice succinct introduction to various required topics for Comp. Sci.

      * Compared To What?: Introduction to the Analysis of Algorithms by Gregory Rawlins - This is a classic book which takes you by hand and walks you through Algorithm Analysis and the reqd. mathematics. You will find this more approachable than most other text books and well worth a study.

      * How to Think about Algorithms by Jeff Edmonds - Practical techniques without too much mathematical formalism.

      * Data Structure Techniques by Thomas Standish - A Classic text; good adjunct to more modern texts.

      * Advanced Data Structures by Peter Brass - Nice succinct text but not necessarily "advanced".

      One final point; try to get a Algorithms and Data Structures book with code in the language with which you are most familiar. That way you understand the mapping from "Abstract Algorithm" to "Concrete Language Implementation" which is not always trivial.

      thread
    3. rramadassJun 2019
      Read books; follow the worked out examples very closely until you completely understand them. Then try programming it on your own from your understanding and memory. You have to put in the time and effort. I suggest studying books where complete implementations are given in a language of your choice and only later studying books with pseudo-code (i.e. go from specific to general). Also the chosen language should be simple without obscuring the core logic in OO/Functional syntactic sugar and structure (C is ideal here). The following are a few chosen books from my collection (used copies of all can be had for cheap online);

      1) Data Structures and Program Design in C by Kruse, Leung and Tondo.

      2) Algorithms in C (Parts1-4 and Part5 two-volume set) by Robert Sedgewick.

      3) Compared to What? An Introduction to the Analysis of Algorithms by Gregory Rawlins.

      4) How to think about Algorithms by Jeff Edmonds.

      5) Advanced Data Structures by Peter Brass.

      Finally, study the ideas, concepts and techniques behind the C++ STL library to see how to design Data Structures and Algorithms in a clean and independent manner and yet can couple them as reqd. in myriad ways for actual usage.

      thread
    4. raincomApr 2019
      http://cseweb.ucsd.edu/classes/sp05/cse101/JeffEdmondsBook.p... Jeff Edmonds' "How to Think About Algorithms: Loop Invariants and Recursion" is a nice book.
      thread
    5. psykoticAug 2012
      > books and papers about algorithms are often dry and unmotivating.

      If you don't like standard textbook treatments like CLRS, you might like these: Introduction to Algorithms - A Creative Approach by Udi Manber (out of print but worth getting). Algorithm Design by Klein and Tardos. How to Think About Algorithms by Jeff Edmonds. Jeff Erickson's lecture notes on algorithms: http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/

      Jon Bentley's Programming Pearls is about what I'd call algorithm engineering. The algorithms are never anything fancy but it's a good example of algorithms applied to real-world problems. It's possibly the best single book on programming I know. Make sure to do all the exercises.

      thread
    6. nimeshneemaJul 2012
      The best text-book I can suggest for you is: "How to Think About Algorithms - Loop Invariants and Recursion" By Jeff Edmonds.

      It takes you through all the relevant mathematics required to learn about basics of CS based topics you are looking for (algorithms, proofs and other practical applications).

      It also acts as a good primer for learning basic Computer Algorithms. The USP of book is it's noob friendly and I think perfectly suited to your needs.

      Check it out here: http://www.amazon.com/Think-About-Algorithms-Jeff-Edmonds/dp...

      thread

    Related

    Numerical AlgorithmsJustin Solomon
    2016–2025

    Numerical Algorithms

    Justin Solomon
    1 recommend · 2
    Cover of Matters computational
    2011–2025

    Matters computational

    Jörg Arndt
    3 recommend · 11
    Cover of Algorithmics
    2008–2024

    Algorithmics

    David Harel
    11 recommend · 22
    Cover of Network Algorithmics,
    2008–2021

    Network Algorithmics,

    George Varghese
    8 recommend · 11
    Cover of Understanding Computation
    2013–2026

    Understanding Computation

    Tom Stuart
    13 recommend · 26
    Cover of Algorithms
    2007–2026

    Algorithms

    Robert Sedgewick
    50 recommend · 100
    Cover of Algorithm design
    2007–2026

    Algorithm design

    Jon Kleinberg
    30 recommend · 56
    Cover of Introduction to Algorithms
    2007–2026

    Introduction to Algorithms

    Thomas H. Cormen
    274 recommend · 880