Speeding up the charting of sensor information as a waveform graph
kdab.com
kdab.com
It's absurdly common in that context and fairly esoteric anywhere else. https://cp-algorithms.com/data_structures/segment_tree.html is one presentation of it.
If they're so flexible and useful, I wonder why they aren't used more frequently.
So in competitive programming the quoted text is certainly true.
In day-to-day work the allowed operations just don't tend to come up. Where they do, there usually seems to be a natural block size you can use instead. Like if I wanted to know the least amount of sleep per day I've gotten in a period of time, I'm probably going to want to know per week/month/year, and it's easier to just have a table for each "scale" that I update once per data point.
That, and most of the time the data points I'd want to mess with would be in a SQL database and it just doesn't make sense to use anything the DB doesn't provide itself unless it's very important in the business context.
But what about their usefulness in operating systems or libraries? Or the SQL database you mention -- could it maybe make use of such datastructures?
The article is mostly about optimizing a specific function/data structure for fast displaying of waveforms (still interesting :]).