Best Algorithms & data structures Videos
「Algorithms & data structures」下面有60部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门6部,适合还没学过的人;进阶24部,适合已经懂术语的人;普通向16部,按兴趣就能看;更硬的14部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括CppCon、Google TechTalks、CGP Grey。目录给这个主题划的范围是:Algorithms and data structures: sorting, graphs, hash tables, trees, dynamic programming, competitive programming, MIT 6.006, algorithm analysis, Big-O, clever algorithms.如果只看三部,就从《CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”》开始,它负责把问题讲出画面;然后看《The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?》,换一种讲法或例子;最后看《Modern Dictionaries by Raymond Hettinger》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

CppCon 2015: Sean Parent "Better Code: Data Structures"
Sean Parent's CppCon 2015 talk on better use of standard containers and the goal of having no incidental data structures.

Lower Latency Graph Queries in Cypher with Redis GraphRoi Lipman, Redis LabsTim Davis, Texas A&M U
Redis Labs and Tim Davis present RedisGraph, which uses GraphBLAS to treat graph queries in Cypher as sparse linear algebra for lower latency.

Superpositions, Sudoku, the Wave Function Collapse algorithm.
Martin Donald explains the Wave Function Collapse algorithm using Sudoku-like constraint solving and shows how he implemented it with Blender and Godot.

Stephan T. Lavavej “Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss”
Stephan T.

What P vs NP is actually about
Polylog explains how algorithms can be turned into circuits and encoded as satisfiability problems, which lets you effectively run them backwards.

What is in a Lucene index? Adrien Grand, Software Engineer, Elasticsearch
Elasticsearch engineer and Lucene committer Adrien Grand explains the design decisions inside a Lucene index and what problems it can and cannot solve.

Fast Inverse Square Root — A Quake III Algorithm
A walkthrough of the Quake III fast inverse square root, explaining where the constant 0x5f3759df comes from.

CRDTs: The Hard Parts
Martin Kleppmann surveys current research on CRDTs, the algorithms for merging concurrent edits across offline replicas.

17. Succinct Structures I
Erik Demaine's MIT 6.851 Advanced Data Structures lecture introducing succinct data structures, covering rank, select and tries.

Infinite Mario AI - Long Level
A bot built by Robin Baumgarten plays Infinite Mario using A* path-finding, shown as a red planned path that updates as new obstacles appear.

Bryan Cantrill on ARC: A Self-Tuning, Low Overhead Replacement Cache [PWL SF] 10/2017
Bryan Cantrill presents the ARC (Adaptive Replacement Cache) paper by Megiddo and Modha at Papers We Love.

Algorithmic Redistricting: Elections made-to-order
AlphaPhoenix uses Monte Carlo simulation and annealing-style methods to draw North Carolina congressional district maps, both gerrymandered and fair.

Differential Synchronization
Neil Fraser of Google presents Differential Synchronization, the algorithm behind MobWrite, for keeping multiple copies of a document in sync in real time.

I Solved Klotski
2swap explains how he solved the Klotski sliding-block puzzle by mapping its full state space as a graph and visualizing it.

High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18
Aaron Hsu shows how to manipulate and transform tree data in APL using arrays and inverted tables instead of pointers.

Parsing JSON Really Quickly: Lessons Learned
Daniel Lemire's QCon talk on how simdjson parses gigabytes of JSON per second.

Quick-sort with Hungarian (Küküllőmenti legényes) folk dance
Hungarian folk dancers from Sapientia University act out the quicksort algorithm step by step, with music.

Donald Knuth: Algorithms, Complexity, and The Art of Computer Programming | Lex Fridman Podcast #62
Lex Fridman interviews Donald Knuth about algorithms, complexity, The Art of Computer Programming, and his work habits.

Abseil's Open Source Hashtables: 2 Years In - Matt Kulukundis - CppCon 2019
Matt Kulukundis reviews two years of Abseil's Swiss table hashtable, covering post-release optimizations, lessons from rolling it out across Google, design choices, and what global monitoring revealed.

C++Now 2018: You Can Do Better than std::unordered_map: New Improvements to Hash Table Performance
Malte Skarupke's C++Now 2018 talk on hash table performance, explaining why std::unordered_map is slow and memory hungry and presenting faster designs, including his bytell hash map.

Who's faster around London: a taxi driver or a GPS?
Tom Scott races a London black-cab driver who has memorized The Knowledge against a phone GPS across the city, comparing local expertise to navigation software.

Three Beautiful Quicksorts
Jon Bentley walks through three implementations of Hoare's Quicksort, from a dozen-line C function to a series of systematic code transformations that make the program ever simpler and more powerful.

BetrFS: A Right-Optimized Write-Optimized File System
A Microsoft Research talk on BetrFS, a file system built on B-epsilon trees, a write-optimized data structure.

The Josephus Problem - Numberphile
Numberphile with Daniel Erman on the Josephus problem, where people in a circle are eliminated in turn.