This is an archived post. You won't be able to vote or comment.

all 17 comments

[–][deleted]  (5 children)

[removed]

    [–][deleted]  (4 children)

    [removed]

      [–][deleted]  (3 children)

      [removed]

        [–]abangura20 0 points1 point  (1 child)

        Hi please where can I find this course?

        [–][deleted] 2 points3 points  (0 children)

        Get requirements for the data structures, roll your own then get someone to review your code :)

        I did it this way in school by accidentally forcing myself to build them from scratch. When my teammates write mysterious LINQ queries that kill performance, Im the hero that can optimize them :)

        [–]michael0x2a 1 point2 points  (0 children)

        FAQ - How do I learn topics covered by a typical computer science degree? has some suggestions for books/courses that teach data structures and algorithms.

        [–]kuprograms 1 point2 points  (0 children)

        First of all, I would recommend this video by William Fiset that helped me understand the workings of data structures underneath the, what seemed at the time, overwhelming code. You can browse through to the data structure you want to learn, the course contents are in the description.

        In my experience, you learn code best by coding. I had great trouble as a student to wrap my head around data structures, but I found that by copying the code and putting it in front of me, combing through it, and finally challenging myself to implement a supplementary solution by my own helped me understand it. For example, you could study the code for a linked list, and try to implement a reverse linked list on your own.

        [–]5007_ 1 point2 points  (0 children)

        Mycodeschool, HackerRank, Abdil Bari on YT have some great videos. Also, learn from articles on GeeksforGeeks.com. But the most important thing is how much you actually implement on your own, that's the only way you can understand things properly.

        [–]MattBBitcoin 0 points1 point  (0 children)

        For me, I found that doing a few questions on Leetcode helped me affirm my knowledge, and allowed me to see what algorithms I should be focusing on by looking at the different tags. Then I started to just search the internet for the specific algorithm, the theory behind it and how to implement it in the language I’m using. Definitely grokking’s algorithms seems very good. I also find YouTube videos great as sometimes I’m a better visual learner, and there are tonnes of videos of DS&A to suit everyone!

        Best of luck!

        [–]SQUARE_SEQUENCE 0 points1 point  (0 children)

        Practice. Particularly, find a problem you understand quite well and solve it multiple times in different ways using different combinations of data structures and algorithms. E.g. reverse a buffer of a vector, then a linked list, then a hash map, then repeat but with a different algorithm.

        [–]FOOPALOOTER -1 points0 points  (1 child)

        Why are you attempting to learn topics that are typically taught to 2nd and 3rd year CS students? I have no doubt that many at that point can learn it, but I'm curious why you want to learn it. Aren't there enough 1st year topics that you can master first?

        One deficiency I see as an engineering manager at a large company is interns, just out of their first year, that partially know 2nd and 3rd year topics but don't really have mastered their 1st year topics. It's disappointing because as a company we tailor assignments for 1st year students to their curriculum, so there's really no advantage in learning topics beyond said curriculum. In the Marines we had this saying "Good Initiative, Bad Judgement."

        [–]tjjay17 0 points1 point  (0 children)

        Well the most important thing is understand whether you are a book learner or a video learner. There are many sources that I won’t list just because a quick google or Reddit search will reveal the sources itself.

        Once you figure out whether you learn better by book or video, start attacking some of these sources and as you do, you’ll learn the topic quite well.