News for hackers. Stuff that matters.
Re:Data structures and algorithms I actually used while work... by mumblemumble on Wednesday July 15, 2020 @09:31AM (#23844930)
Eric Lippert did a nice blog post on this sort of thing a few months ago: https://ericlippert.com/2020/03/27/new-grad-vs-senior-dev/

The other points he mentions, beyond constant factors, are that algorithms with great theoretical characteristics tend to interact really poorly with gross real-world considerations like the memory hierarchy, and that worst-case performance is not average-case performance.

Re:Data structures and algorithms I actually used while work... by nathanyz on Wednesday July 15, 2020 @10:12AM (#23845458)
Exactly this. While the underlying theory is excellent on many of these theoretical algorithms, they typically don't perform as expected when taking into account the infinite complexities of the real-world.

But being able to understand the core value of the algorithm enables you to adapt or modify slightly in order to get it to work as needed in the real world.

In general just knowing that there are specialized algorithms for certain classes of problems is 80% of the expertise you gain over years of experience. Knowing that things like Bloom filters exist when you hit a problem that could be solved by this class of algorithm gets you much further than expertly memorizing any specific implementation of the algorithm. There are a variety of them depending on the actual use case you are looking to solve for.

Re:Data structures and algorithms I actually used while work... by eru on Wednesday July 15, 2020 @09:51AM (#23845193)
> The other points he mentions, beyond constant factors, are that algorithms with great theoretical characteristics tend to interact really poorly with gross real-world considerations like the memory hierarchy, and that worst-case performance is not average-case performance.

I'd say _some_ algorithms and data structures with great theoretical characteristics tend that way. Just as many other work great in practice as well. You have to measure and benchmark.

Re:Data structures and algorithms I actually used while work... by jihadjihad on Wednesday July 15, 2020 @09:48AM (#23845153)
I think one of the main takeaways of his post is that anything is survivable when n is small, and that the overhead required to spool up more robust data structures just isn't worth it for small n.
Re:Data structures and algorithms I actually used while work... by spaetzleesser on Wednesday July 15, 2020 @09:52AM (#23845216)
I often find that the actual number that could be called “Small” in this sense is often quite large. Computers are very fast these days.