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 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
Matt Kulukundis explains how Google designed SwissTable, a fast, cache-friendly hash table, step by step from std::unordered_map.

The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?
Reducible's visual walkthrough of the Fast Fourier Transform, motivated by polynomial multiplication.

Modern Dictionaries by Raymond Hettinger
Python core developer Raymond Hettinger explains how Python's dictionary implementation evolved into the compact, ordered dict in Python 3.6.

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
Chandler Carruth's CppCon 2014 talk on writing fast C++, explaining why data structure choice and memory layout matter more than clever algorithms.

CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ and how they support value semantics.

Sorting Algorithms: Speed Is Found In The Minds of People - Andrei Alexandrescu - CppCon 2019
Andrei Alexandrescu's CppCon 2019 talk revisits sorting, showing how branchless tricks, hybrid strategies and a cost metric can speed up std::sort-style algorithms on modern hardware.

The Fastest Way to Board a Plane Feels Like the Slowest
CGP Grey compares airplane boarding methods, based on an arXiv paper, and shows why the intuitive back-to-front approach is slow while random or outside-in boarding does better.

30 Weird Chess Algorithms: Elo World
Tom Scott-style absurdist tour by Tom7 of SIGBOVIK chess projects: a tournament of 30 weird chess algorithms used to rate a color- and piece-blind chess program.

Robust-first computing: Demon Horde Sort (full version)
Dave Ackley demonstrates the Demon Horde Sort, an inherently robust sorting machine running in his Movable Feast Machine simulator.

Stanford Lecture: Don Knuth—"A Conjecture That Had To Be True" (2017)
Donald Knuth's 2017 Christmas Tree Lecture at Stanford about a combinatorial geometry problem whose computed numbers matched a striking formula.

A Sudoku Solver in APL
A Dyalog demonstration of developing a Sudoku solver in APL, using an algorithm by Arthur Whitney with performance work by John Scholes.

Advanced Topics in Programming Languages: A Lock-Free Hash Table
A 2007 Google Tech Talk in which Cliff Click of Azul Systems presents a lock-free concurrent hash table that scales to 768 CPUs.

Disney's FastPass: A Complicated History
A feature-length Defunctland documentary on the history of Disney's FastPass and FastPass+ expedited queue systems.

React.js Conf 2015 - Immutable Data and React
Lee Byron of Facebook explains how persistent immutable data structures work and how to use them in React apps with Immutable.js.

CRDTs and the Quest for Distributed Consistency
Martin Kleppmann's QCon London 2018 talk on keeping data consistent in distributed systems without a central leader.

dotJS 2019 - James Long - CRDTs for Mortals
James Long's dotJS 2019 talk on how CRDTs enable local-first apps and how simple they can be to implement.

Depth-first search in APL
John Scholes builds a depth-first tree-search operator step by step in a Dyalog APL session.

Four Solutions to a Trivial Problem - Guy Steele Jr.
Guy Steele presents a small geometric problem and compares four computational approaches: a classic sequential solution and three parallel-friendly ones.

Mark DiMarco: User Interface Algorithms [JSConf2014]
A JSConf 2014 talk visually breaking down algorithms behind everyday UI patterns, such as dropdown menus that vanish when the mouse drifts and picking the nearest target to the cursor.

Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths
Erik Demaine's MIT 6.006 lecture introducing dynamic programming through Fibonacci numbers and shortest paths.

How to: Work at Google — Example Coding/Engineering Interview
Two Google engineers perform a mock coding interview and then discuss best practices for candidates, including asking clarifying questions and communicating while solving.

Blockchain 101 - A Visual Demo
Anders Brownworth gives a basic visual introduction to blockchain using an interactive web demo, covering SHA256 hashes, blocks, chains, distribution, tokens and coinbase transactions.

15 Sorting Algorithms in 6 Minutes
A visualization and sonification of 15 sorting algorithms, from selection sort to bogo sort, run on shuffled integers in six minutes.

The Most Underrated Algorithm
Veritasium tells the story of the Fast Fourier Transform, from its use in detecting nuclear tests to Cold War politics, and how it could have changed the arms race.