Instantly share code, notes, and snippets.

# mbostock/.block

Last active February 17, 2018 18:34
Show Gist options
• Save mbostock/6dcc9a177065881b1bc4 to your computer and use it in GitHub Desktop.
Quicksort V
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

A visualization of quicksort. Each row represents the state of the array after a single swap operation.

See also sortvis.org by Aldo Cortesi and sorting visualizations by Jason Davies.

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 (function() { var radians = Math.PI / 180; d3.scale.cubehelix = function() { return d3.scale.linear() .range([d3.hsl(300, .5, 0), d3.hsl(-240, .5, 1)]) .interpolate(d3.interpolateCubehelix); }; d3.interpolateCubehelix = d3_interpolateCubehelix(1); d3.interpolateCubehelix.gamma = d3_interpolateCubehelix; function d3_interpolateCubehelix(γ) { return function(a, b) { a = d3.hsl(a); b = d3.hsl(b); var ah = (a.h + 120) * radians, bh = (b.h + 120) * radians - ah, as = a.s, bs = b.s - as, al = a.l, bl = b.l - al; if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; return function(t) { var h = ah + bh * t, l = Math.pow(al + bl * t, γ), a = (as + bs * t) * l * (1 - l); return "#" + hex(l + a * (-0.14861 * Math.cos(h) + 1.78277 * Math.sin(h))) + hex(l + a * (-0.29227 * Math.cos(h) - 0.90649 * Math.sin(h))) + hex(l + a * (+1.97294 * Math.cos(h))); }; }; } function hex(v) { var s = (v = v <= 0 ? 0 : v >= 1 ? 255 : v * 255 | 0).toString(16); return v < 0x10 ? "0" + s : s; } })();
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters


Excellent code!