Conor Hoekstra introduces C++ STL algorithms and explains how developing algorithmic intuition helps developers write better code.
CppCon.org
—
Discussion & Comments: reddit.com/r/cpp/
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2019
—
Data structure intuition is something that develops naturally for most software developers. In all languages, we rely heavily on standard containers and collections. Need fast insertion/lookup? Hashmap. Need a sorted data structure that stores unique values? Set. Duplicate values? Multiset. And so on.
However, most software developers don't develop algorithm intuition quite as easily. Algorithms aren't taught as widely as data structures are, and aren't relied on as heavily. This talk aims to introduce some STL algorithms, show how they are commonly used, and show how by developing intuition about them (+ a little help from lambdas), you can unlock their true potential.
—
Conor Hoekstra
Amazon
Software Development Engineer
San Francisco Bay Area
Conor is extremely passionate about programming languages, algorithms and beautiful code. He spent 5 years in Canada working on a large-scale C++ codebase. In 2018, he moved down to Silicon Valley and has spent the last year working for Amazon using C++, Java, Python, Go, Perl and more. He is in the midst of falling in love with Haskell and functional programming. He also has a YouTube channel where he covers solutions to competitive programming problems and more.
—
Videos Filmed & Edited by Bash Films: BashFilms.com
Work at Hudson River Trading (HRT): tinyurl.com/safxfctf
Why it's here
1 person recommends this
What people say. Recommended for learning how to choose the right data structures based on algorithmic needs.
B
u/Bobbiasin r/compsci • Recommends
On “How do you decide which data structure to use?”
It comes down to what Connor Hoekstra calls Algorithmic Intuition. The reason that data structures and algorithms are usually taught together in computer science is that what data structure you use is ideally decided by what sort of algorithm or algorithms you need.
Once you've figured out what sort of algorithm you need to use, the data structure which best suits the given algorithm is often fairly apparent, as certain days structures are fairly tired to certain algorithms or classes of algorithms.
One of the most important things to remember though is that learning for to identify what algorithms and data structures to use takes time and practice. Of course, since this is a skill that ta…