As a busy self-learner, when is it time to learn data structures in depth? I feel like there are always 10 other technologies I need to know more urgently (eg, more bash, Linux, testing frameworks, deep learning, c++ libraries, linear algebra, common security mistakes/attacks, OpenGL, etc)
Advanced Data Structures (2017)
71–80 of 89 posts
Re: Advanced Data Structures (2017)
#72Re: Advanced Data Structures (2017)
#73Earlier quoted context omitted.
> "they're just not a skill you need in day-to-day software life (for most people)." I mostly disagree. You won't need to implement them, but a working knowledge of the basics is the basis of any performance analysis and can make a huge difference in system performance in day to day programming. At some point all the small inefficiencies also add up. I would go so far as to say that data structures and basic algorith…
I think we should remember that the vast majority of computer developers and engineers will not, and probably never, work on stuff that requires deep understanding of things like data structures and algorithms, even those with advanced degrees. Most are just, how to put this, IT janitors. To use your mechanic and mechanical engineer analogy: They're not even mechanics, they simply change the oil and light bulbs from…
Yes, the majority of work is on solved problems and we need far more mechanics than engineers. But it's not such a clear cut and a lot of actual software engineers work on solved problems most of their time and only spend a small amount of time on the engineering part (which is probably similar to other engineering disciplines). But when you spend the small amount of time on engineering work these basics are important and I realized multiple times that I could make better decisions because of it. And I'm kind of certain that's the case for most engineers with an academic background or self-taught basics though they might not even realize it.
Re: Advanced Data Structures (2017)
#74Earlier quoted context omitted.
> "they're just not a skill you need in day-to-day software life (for most people)." I mostly disagree. You won't need to implement them, but a working knowledge of the basics is the basis of any performance analysis and can make a huge difference in system performance in day to day programming. At some point all the small inefficiencies also add up. I would go so far as to say that data structures and basic algorith…
I think we should remember that the vast majority of computer developers and engineers will not, and probably never, work on stuff that requires deep understanding of things like data structures and algorithms, even those with advanced degrees. Most are just, how to put this, IT janitors. To use your mechanic and mechanical engineer analogy: They're not even mechanics, they simply change the oil and light bulbs from…
Re: Advanced Data Structures (2017)
#75The data structures look really cool, but I couldn't image example to make use of them in "everyday" software. Would someone give me some example of problems that would be easier to solve with special data structures?
Nearest I might have got was trying to use a bloom filter in a vehicle tracker, but nope.
What learning about stuff generally has given me is indirect, the ability to dig down and optimise because I understand systems. As I read up on eg. sorting I understand that quicksort is very much not the quickest sort and fixed bad performance bugs from its misuse.
Or understanding Btrees so I can get very good performance out of DBs, even if I've never written a Btree and frankly never want to.
Stuff like that. Maybe one day I'll find the need for dynamic programming and learn it properly, until then it's just a waste of time.
But use them directly, no. Surely sux.
Re: Advanced Data Structures (2017)
#76Earlier quoted context omitted.
What links are broken? I only know of a single link to a seemingly unimportant file that is broken.
I thought that the single image was a series of links to the different parts of the courses. It's at the top of the page and has 9 distinct icons representing different things that will be taught. It looks a lot like it's there for navigation. When clicking on each of them didn't work, I assumed I couldn't get to the course content.
Re: Advanced Data Structures (2017)
#77https://ocw.mit.edu/courses/electrical-engineering-and-compu...
Re: Advanced Data Structures (2017)
#78Hey! I’m a coauthor with this guy :^). Incredibly fascinating (and extremely smart) dude. His interest in origami is what drew me to MIT in the first place, since I was interested in it as well from a young age. A few years ago I took his class on the computability/complexity theory of folding, and we ended up solving an open problem in the field and published a paper out of it [0]. If you had told highschool me some…
Hi there. What would you suggest to a person who loves these kind of stuff (data structures and algorithms) but finds it hard to develop the underlying intuitions for coming up with these data-structure and algorithm? I personally just hammer down on deliberate practice to recognise patterns and underlying concepts to solve as many problems as I can on my own. I was wondering apart from general DS and Algo what topic…
So, I suggest you just read everything you can, getting the gist of things so if you encounter something similar you know where to look.
I also suggest looking for little tricks you can apply again and again. For example, some of the data structures in that course use a trick where you break the structure into a top part, using one algorithm, and a bunch of leaf parts, each of size maybe O(log n), that are handled using another algorithm. Often this combination does better than either algorithm by itself.
Re: Advanced Data Structures (2017)
#79Re: Advanced Data Structures (2017)
#80Earlier quoted context omitted.
I thought that the single image was a series of links to the different parts of the courses. It's at the top of the page and has 9 distinct icons representing different things that will be taught. It looks a lot like it's there for navigation. When clicking on each of them didn't work, I assumed I couldn't get to the course content.
Yes, this is what I tried to explain in my top-level comment.