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 Data structures and algorithm analysis

    Data structures and algorithm analysis

    Mark Allen Weiss · 1992

    Computer Science
    Open LibraryAmazon
    Stats for nerds
    3recommend
    6mentions
    6people
    2007–2017years
    50% recommend50% neutral

    Mentions per year

    200720092011201320152017

    What Hacker News says

    1. getup8Jan 2017
      I just took Data Structures and Algorithm Analysis at Columbia and really enjoyed [most of] it. Teacher was great and learned a ton.

      I applied to the Postbacc / Continuing Edu program to take it. Was a little bit of a pain but not too bad.

      Courses are not cheap..$7k all in. Ideally you can get work to pay for some or all..

      thread
    2. Arun2009Aug 2015
      I suggest that you work patiently through a good text on algorithms and data structures that has code samples in it. I recommend "Algorithms I and II" by Sedgewick or "Data Structures and Algorithm Analysis in Java" (or the C++ version) by Weiss. I also hear good things about "Data Structures and Algorithms in Java" by Lafore.

      The above books are quite apt for beginners. You should expect to struggle a little but you must persevere anyway. I remember struggling with sorting and matrix multiplication algorithms when I learned it the first time in school. Do not mistake your unfamiliarity with the subject for its inherent difficulty! Once you write a few sample programs and see how the algorithms play out, you'll get the hang of it.

      thread
    3. atiwJun 2010
      I know I am going to get down voted probably here. But seriously, if you are starting out, Java might be a very good thing to start with too. As a language, it's very mature. The documentation is pretty good. I know setup might be a a little tricky for a noob, but it's not that bad. Although, I agree, if you are focusing on ROI, Ruby or python, or even PHP are more inviting. And you can probably do a lot more faster that way.

      But for learning things inside out, Java might be a very good choice. Good books, great amounts of algorithms, in fact great algorithm books too. One really good one is Effective Java, sEcond edition. Another algorithm related (short but solid) book is Data structures and algorithm analysis in Java.

      Now, don't take me wrong. I might be a little biased, because I find it easier to do a lot more in Java on Eclipse IDE, than anything else.

      Started a startup right after MS, didn't go so well. Still stuck in Dallas, TX. Would love to move to CA, but immigration issues plus financial burdens.

      I started out as a C++ job in my current company that hired me, with some more AMPL (Mixed integer programming). Read Ruby on Rails book, Agile programmingusing ROR or something by DHH (David heinemeir hanson). Loved it, but found ROR a little limiting for what I am doing. But my day job ended up being in Java. I do prolog hacking, although haven;t really done that in while. And still for fun, and continuing my startup on side, and completing a dream of solving a bunch of NP complete problems in seconds, still using a mix of C#, Excel, PHP, Prolog. Very soon jumping onto Javascript or Jquery probably, since I wanna move into making a real Web GUI, instead of a C# GUI.

      So, yeah after all this, I found easiet and very helpful where C# on Visual studio and Java on Eclipse IDE. Loved ROR, found it quite easy too, esp the book is great. For PHP, I still am doing structural coding, although sometime in future I am def reading PHP Objects, Patterns and Practices .

      I wish that would help you pick one. Because you sound a lot like me, I was so confused in college, no idea where the world is going. Personally, my research and doing my startup later opened my eyes to the real world. Of course, Paul Graham essays and HN were so much more helpful too.

      Of that reminds me, go read PG's(Paul graham) essays first. I think you need to understand programming in general first, the startups and then pick up a language to learn.

      Oh, Oh, MUST READ for you....I wish this came out when I was in high school or early college.

      This will give you a little more perspective.

      http://www.paulgraham.com/int.html

      thread
    4. brudgersJan 2015
      Clifford Schaffer's Data Structures and Algorithm Analysis books are online and in their third edition. Hard copies are available from Dover. There's also a full blown open Algorithms and Data Structures curriculum in development.

      http://people.cs.vt.edu/~shaffer/Book/

      thread
    5. dccoolgaiJan 2013
      Since this question seems to come up all the time, I have crafted a stock answer in the idiom of some books I really enjoyed in my youth:

      Choose Your Own Adventure: Should I get a CS Degree? Do you want to be a great developer? Yes! (Page 3) | Not Really. (Page 2)

      (Page 2) That’s totally cool, actually. If you were going to force me to wager on who becomes a success or changes the world more, I would put my money on an “okay” developer with a strong business sense, basic understanding of Minimalist/Gestalt design principles, or thorough understanding of a problem domain where technology has not been fully brought to bear over a purebred “great” developer any day. The great thing about choosing this route is that you can always decide later that you want to go deeper down the rabbit hole and learn more if and when you need to. My one nugget of sage advice if you choose this path is this; Be very, very cautious of not investing too much effort in solving “big” problems without first trying to do some research about who has tackled a similar problem before and in what way. You probably have some friends who went and got CS degrees; Buy them lunch (much cheaper than getting a CS degree), explain what you’re working through and ask them if it sounds similar to any data structures or patterns that they know of. An ounce of humility and patience here can literally save your product/career. You win! THE END!

      (Page 3) OK Then: Here is something you need to hear. Despite what all the “look at me, I’m a successful developer and I have no CS degree” reinforcement responses that inevitably pop up on these threads might lead you to believe, you cannot skip doing the work of understanding the fundamental and counter-intuitive principles and patterns that (most good) CS curricula impart and be a great developer. Doesn’t happen. Sorry.

      However, despite what all the “You _need_ a CS degree – I got one and I know you could never be a good developer without one” responses (that also inevitably pop up on these threads) might lead you to believe, a CS degree is not the _only_ way to learn these things. It is _a_ way…and you might even say a pretty darn good and efficient way…but you can do it on your own if you are motivated enough.

      That leaves us with the question below: How do you want to do the work? On My Own! (Page 4) | At A University! (Page 5)

      (Page 4) Cool. I guess I’d recommend googling Data Structures and Algorithm Analysis as starting-off points…if you wanted to read (and understand even half of) Knuth’s books, you could most likely put any CS Bachelor to shame. Have at it. GO TO PAGE 6!

      (Page 5) Cool. The one obvious advantage of this path is that they give you a little totem at the end that says you did the work. That little totem may be worth more or less depending on who is looking at it and their general worldview – but no one can ever take it away or deny that you have it. The other obvious advantage is that it puts you in the general vicinity of other people who were willing to do the work. Maybe you meet some of them and end up doing some things together? I don’t know. The obvious disadvantage is that doing this costs money. Don’t do too many drugs, join a couple clubs (but not a frat/sorority) and savor the concept that for 4(-ish?) years, your entire environment is focused on your personal intellectual enrichment – this will never, ever happen to you again in your whole life. Don’t be too smug when you finish, though…you have about 5-7 more years of hard work ahead of you before you are worth a real damn to anyone but your mother (but at least they will pay you)…so don’t break your arm patting yourself on the back. If you’re lucky enough to graduate during one of the bubbles, you can get hired quickly at a good rate..but save your money, because bubbles don’t last forever. If you graduate during an “offshoring trough” take a job in a niche industry or do tech support for a while, but don’t panic – the next bubble will be coming in 2-3 years…the system just has to flush out all the “Look at me! I’m a growth-hacker/new-media-guru” dead weight they hired during the last bubble. Learn at least one new “technical” thing on your own every year (just make sure it’s a real thing you can use to solve problems and not some doucheword like “agile”) but spend more time with your friends (in real places, not some MMOG). Always be the person who buys the first round of shots/beers when you meet new people – you will either get one back in return and a new friend, or you will learn quickly who is not worth keeping around…either way, you win. THE END!

      (Page 6) If I am going to hire you, you better believe I will ask you what you did instead of getting that degree to learn the stuff you need to learn so that you aren’t spending my team’s time and money trying to solve problems that were solved 30 years ago in a much better way than you ever could...(No, child, you are not more clever than Dijkstra)…and if you think that me daring to ask you that is sufficient cause for you to terminate the interview process, then you have done my work for me. On the other hand, don’t let me give you a haircut, either – and I will try to; I put “CS Degree Required” on my job postings because I don’t want every bubble-jumper who spent an hour watching a Coursera video wasting my time. I want you to give me your resume, but I also want you to stop and think for a second about whether or not you’ve really done the “equivalent work” to mature as a developer. You are different from the school of fish who just aren’t “finishers” – but you are swimming in the same pond, so make sure I know the difference between you and them…and if I can’t tell, then I really do suck and you just saved yourself 6-7 months of working for a place where you don’t want to be anyhow and you win. THE END!

      thread
    6. timrOct 2007
      Algorithms are mathematical theories. You're not going to be able to learn them through code alone.

      There are certainly less dense introductions to the subject, but Cormen is the classic that you'll see on every good programmer's shelf (and they even read it, too!)

      Edit -- "Data Structures and Algorithm Analysis" by Mark Allen Weiss is an example of a common, less-dense introductory text. It's actually not bad, given its intent.

      thread

    Related

    Cover of Introduction to Algorithms
    2007–2026

    Introduction to Algorithms

    Thomas H. Cormen
    274 recommend · 880
    Cover of Algorithms and data structures
    2008–2026

    Algorithms and data structures

    Niklaus Wirth
    8 recommend · 20
    Cover of A Common-Sense Guide to Data Structures and Algorithms
    2017–2025

    A Common-Sense Guide to Data Structures and Algorithms

    Jay Wengrow
    9 recommend · 14
    Cover of Algorithms + data structures=programs
    2007–2026

    Algorithms + data structures=programs

    Niklaus Wirth
    35 recommend · 81
    Cover of The algorithm design manual
    2007–2026

    The algorithm design manual

    Steven S. Skiena
    195 recommend · 321
    Open Data StructuresPat Morin
    2012–2024

    Open Data Structures

    Pat Morin
    11 recommend · 12
    Cover of Data structures
    2018–2019

    Data structures

    Richard F. Gilberg
    2 recommend · 2
    Cover of Data structures & problem solving using Java
    2018–2025

    Data structures & problem solving using Java

    Mark Allen Weiss
    1 recommend · 2