I agree that having an implementation as a reference can help. I am new to c++ (1 year in) and it helps me as well, but I also think that having mathematical information around such structures are all useful. The thing about math is that it reassures you of correctness and efficiency, alongside making it easy to reference in your memory.If I were to start from scratch, I would want a teacher/teaching resource that could first teach me the basics (classes and exceptions) then about what each container/data structure is meant for, then exception safeties, an implementation implementating such structures with exception safeties in mind, then the formal math of it, like what does it mean for a ordered map/set to be weakly ordered, and at last, the standard's interface. For me the math and making use of performance gurrenties, with some common sense is important. For example, I want to know when vectors may be impractical enough to not be able to utilize holes in memory.A resource for classes and exceptions, alongside exception safety would be the classic book of Bjarne Stroustrup "The c++ programming language 4th edition". For a more detailed view into each container, you would probably have to write code yourself based on modren features. For performance and how to make use of it, you would again need to show the assembly and how it maps to the CPU usage, for mathematical definitions of certain orderings in order maps/sets, a resource would be: https://eceweb.uwaterloo.ca/~dwharder/aads/Abstract_data_types/ . I sadly haven't found time to read the all of it (though I am planning to), but had to read some parts out of necessity.I don't know what the conference is exactly for but this is my view. Hope it is useful.On Mon, 25 May 2026, 1:59 am Ohlan,Kartik via SG20, <sg20@lists.isocpp.org> wrote:--I think almost every university uses Introduction to Algorithms(CLRS), but in my opinion one thing that would make CLRS more appealing to students is including practical implementations of data structures such as Red-Black Trees, AVL Trees, and similar concepts and how these are used in real life like Linux scheduler for example. My only issue with the book is that it is extremely mathematical.
Some of my favorite books are Competitive Programming 4 and Data Structures and Algorithm Analysis in C++.
When I studied data structures, my professor strongly emphasized implementing your own data structures from scratch—for example, recreating something like LLVM’s small_vector and pushing it until it breaks to truly understand its behavior.
Best,
Kartik
SG20 mailing list
SG20@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg20