Reddit mentions: The best data structure books

We found 43 Reddit comments discussing the best data structure books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 17 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

1. Algorithms + Data Structures = Programs (Prentice-Hall Series in Automatic Computation)

    Features:
  • Used Book in Good Condition
Algorithms + Data Structures = Programs (Prentice-Hall Series in Automatic Computation)
Specs:
Height9.5 Inches
Length6.5 Inches
Number of items1
Weight1.50575724946 Pounds
Width0.75 Inches
▼ Read Reddit mentions

2. Data Structures and Algorithms in C++

    Features:
  • Used Book in Good Condition
Data Structures and Algorithms in C++
Specs:
Height9.200769 Inches
Length7.40156 Inches
Number of items1
Weight3.40393732528 Pounds
Width1.098423 Inches
▼ Read Reddit mentions

3. Data Structures and Algorithms in Python

Used Book in Good Condition
Data Structures and Algorithms in Python
Specs:
Height9.401556 Inches
Length7.700772 Inches
Number of items1
Weight3.13938261088 Pounds
Width1.401572 Inches
▼ Read Reddit mentions

5. Problem Solving With Algorithms And Data Structures Using Python

Used Book in Good Condition
Problem Solving With Algorithms And Data Structures Using Python
Specs:
Height9 Inches
Length7.25 Inches
Number of items1
Weight1.4109584768 Pounds
Width0.75 Inches
▼ Read Reddit mentions

6. Data Structures and Algorithms Using C#

    Features:
  • Used Book in Good Condition
Data Structures and Algorithms Using C#
Specs:
Height9.25 Inches
Length7 Inches
Number of items1
Weight1.3889122506 Pounds
Width0.83 Inches
▼ Read Reddit mentions

9. Data Structures and Program Design in C++

Data Structures and Program Design in C++
Specs:
Height9.75 Inches
Length7.75 Inches
Number of items1
Weight2.74916440714 Pounds
Width1.25 Inches
▼ Read Reddit mentions

10. Schaum's Outline of Data Structures with Java, 2ed (Schaum's Outlines)

McGraw-Hill
Schaum's Outline of Data Structures with Java, 2ed (Schaum's Outlines)
Specs:
Height10.8 Inches
Length8.1 Inches
Number of items1
Release dateJune 2009
Weight1.73944724718 Pounds
Width0.6 Inches
▼ Read Reddit mentions

11. Advanced Data Structures

Used Book in Good Condition
Advanced Data Structures
Specs:
Height9 Inches
Length6 Inches
Number of items1
Weight1.653466965 Pounds
Width1.06 Inches
▼ Read Reddit mentions

13. C++ Programming: Program Design Including Data Structures

C++ Programming: Program Design Including Data Structures
Specs:
Height10 Inches
Length8 Inches
Number of items1
Weight4.9824471212 Pounds
Width3 Inches
▼ Read Reddit mentions

14. A Handbook of Small Data Sets (Chapman & Hall Statistics Texts)

    Features:
  • Solid jacquard long sleeve sweater
  • Warm colors
A Handbook of Small Data Sets (Chapman & Hall Statistics Texts)
Specs:
Height9.21258 Inches
Length6.14172 Inches
Number of items1
Weight1.74826573766 Pounds
Width0.9586595 Inches
▼ Read Reddit mentions

16. Data Structures and the Java Collections Framework

Data Structures and the Java Collections Framework
Specs:
Height9.200769 Inches
Length7.2003793 Inches
Number of items1
Weight2.35453695816 Pounds
Width0.901573 Inches
▼ Read Reddit mentions

17. Fundamentals of Data Structures in C++

Used Book in Good Condition
Fundamentals of Data Structures in C++
Specs:
Height9.25 Inches
Length6.25 Inches
Weight2.15 Pounds
Width1.25 Inches
▼ Read Reddit mentions

🎓 Reddit experts on data structure books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where data structure books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 3
Number of comments: 2
Relevant subreddits: 1
Total score: 3
Number of comments: 1
Relevant subreddits: 1
Total score: 2
Number of comments: 2
Relevant subreddits: 1
Total score: 2
Number of comments: 2
Relevant subreddits: 2
Total score: 2
Number of comments: 2
Relevant subreddits: 1
Total score: 2
Number of comments: 1
Relevant subreddits: 1
Total score: 2
Number of comments: 1
Relevant subreddits: 1
Total score: 1
Number of comments: 1
Relevant subreddits: 1
Total score: 1
Number of comments: 1
Relevant subreddits: 1
Total score: 1
Number of comments: 1
Relevant subreddits: 1

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Top Reddit comments about Data Structure and Algorithms:

u/CSMastermind · 1 pointr/AskComputerScience

Entrepreneur Reading List


  1. Disrupted: My Misadventure in the Start-Up Bubble
  2. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
  3. The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It
  4. The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything
  5. The Four Steps to the Epiphany: Successful Strategies for Products that Win
  6. Permission Marketing: Turning Strangers into Friends and Friends into Customers
  7. Ikigai
  8. Reality Check: The Irreverent Guide to Outsmarting, Outmanaging, and Outmarketing Your Competition
  9. Bootstrap: Lessons Learned Building a Successful Company from Scratch
  10. The Marketing Gurus: Lessons from the Best Marketing Books of All Time
  11. Content Rich: Writing Your Way to Wealth on the Web
  12. The Web Startup Success Guide
  13. The Best of Guerrilla Marketing: Guerrilla Marketing Remix
  14. From Program to Product: Turning Your Code into a Saleable Product
  15. This Little Program Went to Market: Create, Deploy, Distribute, Market, and Sell Software and More on the Internet at Little or No Cost to You
  16. The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully
  17. The Innovator's Solution: Creating and Sustaining Successful Growth
  18. Startups Open Sourced: Stories to Inspire and Educate
  19. In Search of Stupidity: Over Twenty Years of High Tech Marketing Disasters
  20. Do More Faster: TechStars Lessons to Accelerate Your Startup
  21. Content Rules: How to Create Killer Blogs, Podcasts, Videos, Ebooks, Webinars (and More) That Engage Customers and Ignite Your Business
  22. Maximum Achievement: Strategies and Skills That Will Unlock Your Hidden Powers to Succeed
  23. Founders at Work: Stories of Startups' Early Days
  24. Blue Ocean Strategy: How to Create Uncontested Market Space and Make Competition Irrelevant
  25. Eric Sink on the Business of Software
  26. Words that Sell: More than 6000 Entries to Help You Promote Your Products, Services, and Ideas
  27. Anything You Want
  28. Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers
  29. The Innovator's Dilemma: The Revolutionary Book that Will Change the Way You Do Business
  30. Tao Te Ching
  31. Philip & Alex's Guide to Web Publishing
  32. The Tao of Programming
  33. Zen and the Art of Motorcycle Maintenance: An Inquiry into Values
  34. The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

    Computer Science Grad School Reading List


  35. All the Mathematics You Missed: But Need to Know for Graduate School
  36. Introductory Linear Algebra: An Applied First Course
  37. Introduction to Probability
  38. The Structure of Scientific Revolutions
  39. Science in Action: How to Follow Scientists and Engineers Through Society
  40. Proofs and Refutations: The Logic of Mathematical Discovery
  41. What Is This Thing Called Science?
  42. The Art of Computer Programming
  43. The Little Schemer
  44. The Seasoned Schemer
  45. Data Structures Using C and C++
  46. Algorithms + Data Structures = Programs
  47. Structure and Interpretation of Computer Programs
  48. Concepts, Techniques, and Models of Computer Programming
  49. How to Design Programs: An Introduction to Programming and Computing
  50. A Science of Operations: Machines, Logic and the Invention of Programming
  51. Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology
  52. The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
  53. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
  54. Computability: An Introduction to Recursive Function Theory
  55. How To Solve It: A New Aspect of Mathematical Method
  56. Types and Programming Languages
  57. Computer Algebra and Symbolic Computation: Elementary Algorithms
  58. Computer Algebra and Symbolic Computation: Mathematical Methods
  59. Commonsense Reasoning
  60. Using Language
  61. Computer Vision
  62. Alice's Adventures in Wonderland
  63. Gödel, Escher, Bach: An Eternal Golden Braid

    Video Game Development Reading List


  64. Game Programming Gems - 1 2 3 4 5 6 7
  65. AI Game Programming Wisdom - 1 2 3 4
  66. Making Games with Python and Pygame
  67. Invent Your Own Computer Games With Python
  68. Bit by Bit
u/Vinicide · 1 pointr/learnprogramming

I think a lot of people confuse programming with programming languages. I see a lot of people say things like "I learned <insert programming language here> but I still have no idea what I'm doing."

This is because programming is more than just the language you use. It is a set of skills, including mastery of a language, algorithms, data structures, design principals (and patterns), hardware knowledge, math, logic, problem solving... the list could go on.

Mastering a language is just one part of the equation. Depending on the kind of programs you want to create, you will have to master some, all, or more of the other skills I've mentioned.

I would start with data structures and algorithms. Since a lot of programming has to do with data, it's good to know the various ways it can stored, sorted and manipulated. You probably already know about simple data structures, like arrays, but there are many more, like lists, trees and maps. Algorithms like sorting, searching and pattern matching will help you solve some very common problems you'll encounter. Either enroll in a course on data structures and algorithms (they're generally taught together) or find yourself a good book.

Once you've mastered that, move on to design. Learning how to design a large program is an art and a science unto itself. There are many useful design patterns that, once you know how they work, you can apply directly to your own designs. While they're not the end-all-be-all of computer program design, they're proven effective and can be extremely useful.

Another thing you should definitely understand is how computers work. Now I"m sure you have a general idea of how a processor and memory works, but do you really understand the underlying architecture? Do you know how registers work? How instructions are stored? How the operating system interfaces with the various hardware? How the software interfaces with the operating system? While this knowledge isn't 100% necessary, it can be very helpful to understand how your programs are functioning on a low level. Most modern languages abstract most of that out, but keeping it in the back of your mind can only help.

Anyhow, I know how you feel, and don't worry too much about it. Programming is a life long learning endeavor. There will always be new things to learn, new ways to do things, and new technologies to understand, but if you stick with it, you'll eventually learn it.

Just think, every piece of software in the world was written by someone who, at one time or another, knew absolutely nothing about programming.

u/jb3689 · 3 pointsr/ruby

I came here to put this same book. This book is crazy, crazy good. It would help to have some knowledge of algorithms and data structures before going in as the examples aren't vast and the information are fairly heavy, but it's a fantastic reference.

I would encourage you to change your thinking from "learning algorithms in Ruby" to "learning algorithms" and then just implementing examples in Ruby. There are a few classic Algorithms book that I'd highly recommend. In addition to The Algorithm Design Manual, Data Structures in C is written in C but fairly generic and gives you the right tools for thinking about performance and algorithms, and Introduction to Algorithms, 3ed is more academic but also stupid inexpensive right now. It's a great learning book as the examples are very detailed. It's aimed at interviewing but Cracking the Coding Interview has a nice short survey of algorithms and data structures too

u/karmahawk · 2 pointsr/cscareerquestions

So I am more of a book guy these days. I found Algorithms + Data Structures = Programs by Niklaus Wirth to be pretty solid. For something a bit more contemporary Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein is a very good textbook. If you're into math and learn best from repetition I'd suggest The Art of Programming Vol 1 by Knuth as well.

The issue I have with a lot of online content is the economics of the Internet are such that its not profitable to go in-depth, so its definitely worth paring online courses(whether they're from an accredited university or not) with a textbook or two. You might even want to crawl down the rabbit hole further and dig into the camps of mathematics where these concepts derive like Queue Theory or Set Theory. If your the type of person who gets the most out of things by tracing concepts to their roots digging into the maths helps a ton.

u/hefios · 8 pointsr/learnprogramming

I think that Problem Solving with Algorithms and Data Structures on interactivepython is actually perfect to start with - it gives you a good overview of both the technical concepts and implementations. It's not extremely rigorous, either.

Why not try going through it, and learn whatever you can? It's actually an interactive version of the book Problem Solving with Algorithms and Data Structures by Brad Miller and David Ranum (you can find a copy of the PDF here), which is one of the recommended textbooks of MIT's 6.006 Introduction to Algorithms along with CLRS.

On another note: if you'd like an language-agnostic approach that focuses more on algorithmic thinking, analysis, and some implementation in psuedocode, check out Algorithms: Design and Analysis offered by Stanford on Coursera.

u/chrispyYE · 1 pointr/learnprogramming

First of all, thanks for you answer.
For example I have a python object containing 5 attributes.
attr1, attr2, attr3, attr4, attr4, attr5
Some of them are Integeter, some of them dates and some of them Strings. For example I'd like a function that returns me all objects based on criteria
attr1 > 10 && attr3 = 'randomString'
Would a list of Dicts be faster or a list of objects. Also if you happen to know any good book that explains this stuff it would be awesome.
Something like this one? https://www.amazon.com/Algorithms-Structures-Prentice-Hall-Automatic-Computation/dp/0130224189

u/john12tucker · 2 pointsr/DebateReligion

> My reading of it was more along the lines of: your sensory input are not you, and you should not cling to them, the self is always changing, so you shouldn't expect yourself to be reborn as the exact same person in your next life. This is a far cry from "you, as a discrete "self", do not really exist"

I think you half-understood. If your self is always changing, in what capacity does your self exist at all? The self that you associate with "you", in the next instant, will be utterly different; so what is being preserved? What indelible "self-hood" is being passed along? If I build a sand castle, then knock it down and build a new one, and then knock it down and build a third one, and so on, in what sense can you say that the original castle remains?

> I believe that i have a point of focus different from my brain (information source/depository), because even if a computer could store all the information in my brain, there'd still need to be someone/something browsing and calling up certain bits of information for it to do what it does.

Not necessarily; automation is the heart and soul (as it were) of computing. Google has programs that scour billions of webpages, collating and indexing the data, and there is nobody on the other end dictating precisely what it must do or how it must accomplish it. What you've described is a data structure, which is only half the utility of computers; algorithms + data structures = programs.

> I find it hard to believe that we have abundant evidence that mind is inextricable from matter. I suppose once we admit (which we must) that energy is just free flowing matter it gets easier.

(Be careful here, "energy" reeks of woo-woo.) If I have a thought, or a feeling, there is a corresponding event in my neurology; science is even to the point that we can sometimes tell what you're thinking about with just an MRI. We have no examples of something being thought or felt, and being unable to connect it with neurological activity.

We might not entirely understand how a brain works, but I don't know how a car works; suggesting that there are non-physical components to the mind is like suggesting that a car can run without turning on its engine, and we've never observed that to be the case.

u/acwaters · 4 pointsr/cpp

I would pick up both a data structures book and a C++ book; for instance, Data Structures and Algorithms in C++ and Programming: Principles and Practice Using C++.

Of course, you can use any data structures book you like; some are better than others, but they all teach the same stuff. But when you're learning the abstract stuff at the same time as basic programming, it can be nice to see examples in your language. Principles and Practice is one that I wholly recommend, though, as an excellent introduction to modern C++.

Also, be aware that there is way more bad C++ material out there than there is good C++ material. If in doubt, check out the semi-official book list or ask around here.

u/New_Age_Dryer · 1 pointr/UMD

I don't know why you're getting downvoted.

Unless you want to learn programming and what it entails (algorithms and data structures), this is fine. A course, in all honesty, would be too slow. The majority of the material in the codeacademy course, it appears, is covered in the official Python tutorial, which goes even further in depth. Here's to save you googling:

u/arcsecond · 2 pointsr/raspberry_pi

So, (IMO) the raspberry pi doesn't specifically bring anything to learning C++ that I think you couldn't get on any other computer. And I'm assuming you have a computer because you're posting here (could be a phone but i don't know).

If you've got windows I tend towards Visual Studio and on a Mac I'd go with Xcode. When I'm in Linux I tend to just go straight to gcc and make (this won't make sense to you yet)

Books: These are the ones that were used in my C++ focused classes:

Big C++
ADTs, Data Structures and Problem Solving in C++

Hope this helps.

u/LWRellim · -1 pointsr/programming

>Point me to one page explanations of them and I'll be amazed by them too.

http://en.wikipedia.org/wiki/List_of_algorithms

Take your pick, each of the links on that page is to a brief summary explanation, and many of them will probably be "amazing" to relatively new/less widely-experienced programmers.

EDIT: Also, there are a host of standard reference books with a plethora of such things in them: Sedgewick's is a classic, then there is Wirth's Algorithms and Data Structures which used to be considered a "must read" for anyone in the profession, and then there are more recent things, like O'Reilly's nice little handbook/guidebook

u/tyroneslothtrop · 4 pointsr/learnpython

As I recall, that's a pretty decent book/course. It's free, so just dive in and you can decide yourself if it's worth sticking with. Plus, the favicon kind of looks like Professor Farnsworth, so that's a bonus, I guess.

Other options:

Keeping to python, there's these two:

http://www.brpreiss.com/books/opus7/html/book.html
http://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275

And the MIT 6.006 Intro. Algo. course is taught in Python:

http://courses.csail.mit.edu/6.006/spring11/notes.shtml

Beyond python this is a pretty standard text (and is used for 6.006):

http://mitpress.mit.edu/books/introduction-algorithms

u/amalthea5 · 2 pointsr/cpp

Keep learning it! I thought I knew C++ pretty well. Then I started my data structures class. This book has greatly expanded my understanding of C++. I'm still not even close to done. But I'm working on other languages and learning how compilers work now as well. It never ends muwhahaha

u/turning_tesseract · 1 pointr/compsci

For Algorithms and Data Structures, I would recommend the book by Goodrich and Tamassia. There are three versions of the book that you can choose from, depending upon which programming language you are most comfortable with - Java, Python, or C++ .

u/hhrjrq · 1 pointr/cpp

I like this book: http://www.amazon.de/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275

It starts with quickly skimming over the basics because it assumes the reader to be familiar with C or Java. Later it deals with algorithms and data structures. Those were always my favorite programs to learn a new language.

Oh and I use Emacs but I think you are fine with Eclipse.

u/[deleted] · 3 pointsr/programming

Oldie, but

Algorithms + Data Structures = Programs

http://www.amazon.com/Algorithms-Structures-Prentice-Hall-Automatic-Computation/dp/0130224189

I noticed "Data Structures and Algorithms in Java" in the upper left. Don't know if it's any good. I'm an embedded software engineer using C & (a little) assembly. Only Java for me is poured into a cup.

u/WhyHellYeah · 1 pointr/AskReddit

"Algortihms + Data Structures = Programs"

There are books for different programming languages.

Also, check out MITs web site. All of their courses are on line for free.

u/Warlord_Okeer_ · 1 pointr/cscareerquestions

It's all the same material. Here's the book we used in uni:
https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275/ref=sr_1_1?keywords=Data+Structures+and+Algorithms+in+C%2B%2B&qid=1558918108&s=books&sr=1-1

These authors wrote the same book in like 6 languages, just find the language you want.

u/programmermaybe2016 · 1 pointr/learnprogramming

I would recommend https://www.amazon.com/Schaums-Outline-Data-Structures-Outlines/dp/0071611614 in addition to the Sedgewick book.

u/vtable · 2 pointsr/learnprogramming

CS luminary Niklaus Wirth thinks so much so that he wrote a book titled "Algorithms + Data Structures = Programs"

Niklaus and I agree on this :)

u/schmoggert · 1 pointr/compsci

sounds like this one

u/lineolation · 2 pointsr/cpp_questions

Some books are not interesting. There are certainly other books on this topic; this ancient classic helped me a lot when I was beginner.

u/mciur · 4 pointsr/programming

Off the top of my head:

u/Grogie · 1 pointr/learnpython

I think the consensus for a good introduction book to python is Automate the Boring Stuff with Python. I knew C++ when I started python and learned it though an Algorithms and Datastructures course in my masters degree. the book from that class is here : Data Structures and Algorithms in Python. Finally I found these tutorials at filling in gaps in my knowledge : Corey Schafer

u/CarbonSolo · 3 pointsr/india

Book prescribed by professor : Tannenbaum

Study material used by students : YouTube videos and GeeksForGeeks

u/bhrgunatha · 1 pointr/programming

My dad was an lecturer at Data General and he borrowed a book on BASIC for me - no idea what it was called.

Aside from that one of the first serious books I read was Niklaus Wirth's Algorithms + Data Structures = Programs - it was a first year course book at University so there would have been quite a few others (most of which I've forgotten) but another memorable one was Clocksin and Mellish's Programming in Prolog

u/mcepl · 4 pointsr/Python

Point of recursion is not to be faster ... the point is that there are huge group of tasks which is obviously recursive and doing it iteratively means massive waste of time and loosing clarity of code.

Let's say I was writing json_diff (it is in PyPI) ... comparing two arbitrary json files. You have to go recursive there or you go mad. Various strategical tasks (examples could be The Problem of Eight Queens, ... get http://www.amazon.com/dp/0130224189 from your local library).

u/lasthope106 · 1 pointr/learnprogramming

I used the 2nd edition of this book called Data Structures and the Java Collections Framework. At the time it was one of the most up-to-date books on Java 1.5 and generics. The book is very accessible for students, and probably one of the better technical books I've read in my entire academic career.

However, if I was to learn data structures from scratch again, I'll probably would go with Algorithms by Sedgewick. I've heard nothing but good things about the book, and don't let the name fool you. It actually focuses on the implementation of data structures or so I heard.

u/toaster99 · 1 pointr/compsci

Personally I find this to be the worst text book I've ever had Fundamentals of Data Structures in C++