

Yeah just for me personally I also really liked making things as efficient as possible, but I thought data structures and algorithms were lame because I had zero context around it.
Maybe that’s just how it’s taught though, because there are really cool examples of what data structures to use and why. For instance if you have npcs with attacks that all have different cooldowns, and a central system that applies the attacks, what’s the best way to store it? A min tree is O(log n) on insertion, so that seems best, but what if it’s very likely an attack is invalidated and you need to remove it before it triggers? Lots of interesting concepts to consider there, instead of just “this does x and has y properties, so it’s good in this use case.”
Yep all of that is super interesting, and I’ve seen some people on YouTube make it that interesting but I rarely saw any examples like that in all my time in uni. When I first learned calculus the professor drew the speed of the car on a graph, and said how far did it travel in this time? Well it’s the area under the curve. Instantly connects it to something tangible and useful, rather than saying “the derivative is the slope of the line at this point.” I learned what a binary tree was and sort of how to make it, but I essentially had to relearn it anyway when I actually came across a situation where I needed it.