I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so.<p>It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for context, different execution environments, etc, all make this difficult to tackle generally.<p>More and more lately, I find that I'm interested in <i>this problem</i> more than the code itself.
As someone who just finished a datastructre class (as in had my final just a few days ago) I used the heck out of this site all semester long!<p>The visualization for B-trees and Red/black trees was totally invaluable!
I wrote a web site <a href="http://gregfjohnson.com/redblackbuilder.html" rel="nofollow">http://gregfjohnson.com/redblackbuilder.html</a> that takes interactive algorithm visualization another step. I would be delighted and appreciative if people go check it out and provide thoughts and feedback. IMHO It is fun and informative to play with, and a great tool for learning the algorithms.<p>It is specific to red-black trees, but I am considering adding other data structure manipulation algorithms as well.<p>On insert and delete, you can single-step forward and backward and see the tree manipulations at each step. Or, you can do the entire operation at once.<p>There is pseudo-code for insert and delete, and at each forward or backward step the line of code being executed is highlighted.
This was pretty valuable when I took algorithms from this professor. Things like mergesort and indexing in B+ trees can seem very abstract when you try to learn it via a snippet of java code. These visualizations are even more useful if you need a refresher on algorithms for job interviews.
This is so useful. Here's another <a href="http://www.sorting-algorithms.com/" rel="nofollow">http://www.sorting-algorithms.com/</a>
There are some great visualisations here. Coming up with good visualisations is tricky. I can't help but mention my own attempt at a more general framework for algorithm visualisation: <a href="http://will.thimbleby.net/algorithms/" rel="nofollow">http://will.thimbleby.net/algorithms/</a>
We did similar stuff 12 years ago when I was an undergrad at SpbITMO. The website with the visualisers (in Russian) can be found here: <a href="http://rain.ifmo.ru/cat/view.php/vis" rel="nofollow">http://rain.ifmo.ru/cat/view.php/vis</a>
I just wish there was a button in each example that would populate with some demo data. I like to watch something go and then figure out it out by playing with the parameters. From this I don't immediately know what kind of inputs and outputs to use/expect (integers? floats? strings?).<p>very sweet project tho!
Just found out yesterday that I'll be having my first interview for a Google Software Engineering position in about a month. This is truly going to be invaluable, thank you!
This is incredibly useful, as someone who is an engineer with a non-technical degree.<p>Ironically (or perhaps coincidentally), I got my non-technical degree from the very school this is hosted on.
Took a quick look at their insertion sort algorithm. It looks wrong, doing unnecessary swaps, when moving elements up. For and extra O(1) memory your can avoid that.