7 ms·
Animated Algorithms
- dceddia 12y agoThis is really great. I always wished something like this existed when I was going through CS undergrad (and grad, for that matter). Have you tried reaching out to any CS professors to tell them about it? You might also spread the word by telling some "coding interview" blogs about it.
- emingo 12y agomaybe ensure it can support the traffic first ;)
- nwhitehead 12y agoFeature plea: it would be awesome to have legible YouTube screencast videos of all the algorithms from sites like this for lecture purposes. I teach various CS classes and love using these kinds of sites. It really is a powerful way to demonstrate concepts. Usually what I do is go to the site, choose an algorithm, then show the algorithm working with the default options. Then I'll change a few options and try it again. Then I might pick a different algorithm and do another demo. Then I'll share the link with the class and encourage students to experiment on their own to really understand the algorithm. It would be convenient to have screencast demos doing the exact same thing as a backup for lectures in case there are any problems. Problems I've encountered: general Flash/JavaScript failure, projected screen resolution so bad that the site is unusable, site temporarily slow or down, sites with ads showing inappropriate content for classroom use. Video backup lets me not worry about any of that.
- joncalhoun 12y agoI'm not sure if the site is having issues, or if I am just searching the wrong algorithms :( Can you link me directly to an algorithm to check out the animation?
- claar 12y agoSite appears to be hammered -- no algorithms are showing up for me either, and search isn't returning. Google returns http://www.algomation.com/algorithm/quick-sort-visualization http://www.algomation.com/algorithm/quick-sort-visualization as an example URL, but it's not returning anything at the moment, and Google cache won't finish loading it either.
- Kortaggio 12y agoNothing showing up for me either, a search for "quicksort" returns zero results.
- JimmyM 12y agoSearching for "Quick Sort" on the other hand returns results for me. Not sure if it's just a case of a different naming convention and finicky search, or intermittent site issues.
- duncanmeech 12y agomore dynos added....should be smoother now.
- joncalhoun 12y agoAwesome thanks! The site looks great. It would be cool if you could add some support for algorithms that a lot of new programmers would be looking for. eg: DFS, BFS, and maybe Dijkstras. I didn't see any of those :(
- omegote 12y agoSame here. Dijkstra's was the first I tried to search, to no avail :(
- uberdog 12y agoAppears to be falling over.
- dsjoerg 12y agoNeeds a caching algorithm.
- notastartup 12y agoJust searched for bubble sort. Impressive! So much easier when you get to see an animation of what it does http://www.algomation.com/algorithm/bubble-sort-optimized http://www.algomation.com/algorithm/bubble-sort-optimized
- mike_mg 12y agotraffic issues aside, great job. Quality resource, will recomend to cs undergrad friends
- duncanmeech 12y agoI added a few more dynos...nice and smooth now. Apologies. -duncan meech
- iillmaticc 12y agoDamn where was this while I was in university! I'm definitely a visual learner and these are great! Thanks OP.
- duncanmeech 12y agoFeatured algorithms are on the homepage or these are good examples of the site: http://www.algomation.com/algorithm/towers-hanoi-recursive-visualization http://www.algomation.com/algorithm/towers-hanoi-recursive-v... http://www.algomation.com/algorithm/dijkstra-graph-shortest-path-london-underground http://www.algomation.com/algorithm/dijkstra-graph-shortest-... http://www.algomation.com/algorithm/reversi-othello-engine-negamax-zobrist-history-heuristic http://www.algomation.com/algorithm/reversi-othello-engine-n... http://www.algomation.com/algorithm/heap-sort-priority-queue http://www.algomation.com/algorithm/heap-sort-priority-queue
- blt 12y agoGreat site! I would suggest a list of "related algorithms" on each animation, for example if you want to look through all the sorting algorithms.
- duncanmeech 12y ago...working on a search term extraction algorithm as we speak :)
- mmanfrin 12y agoVery pretty, reminds me of http://www.cs.usfca.edu/~galles/visualization/Algorithms.html http://www.cs.usfca.edu/~galles/visualization/Algorithms.htm...
- duncanmeech 12y agoWow, that is super sweet. I have been planning to add user interaction to algomation.com but have not had the time yet. The input mechanism would need to support validation and defaults so that algorithms could always run unattended but otherwise very doable despite the web workers that I use on the site.
- amitp 12y agoAnother cool algorithm animation site: http://rosulek.github.io/vamonos/demos/ http://rosulek.github.io/vamonos/demos/ uses Vamonos (http://rosulek.github.io/vamonos/ http://rosulek.github.io/vamonos/). However, it looks like you have to write the algorithm twice, once in pseudocode to present to the reader and once in javascript to execute. In the Javascript code, you annotate the execution with the corresponding lines in the pseudocode so that the library can show what's executing. I haven't dug into Vamono to figure out how that interacts with the browser's event loop. Duncan's use of ES6 generators for that interaction is clever, as is Will's Tailspin JS interpreter.
- knowaveragejoe 12y agoWhen you restart a visualization, it automatically switches back to 'continuous' even if you had single-step selected. Making it easier to start from the very beginning would be beneficial I think. Just a suggestion.
- mkoryak 12y agohttp://www.algomation.com/search?q=bogosort http://www.algomation.com/search?q=bogosort nothing :P
- jokoon 12y agoI desperately need delaunay triangulation
- deleted 12y ago[deleted]
- theoutlander 12y agoNice! I don't understand how to link the algorithm to an animation when creating a new algorithm? I'm clearly missing something.
- cosmicvisitor 12y agosite doesn't work on my browser- this is 2014.
- sehr 12y agoWhat browser are you using?
- wijt 12y agoSadly the website seems to have fallen over for me. I am really interested in how it works. From what I could see it seems a bit more cumbersome, than my approach of a using full JS interpreter: http://will.thimbleby.net/algorithms/doku.php?id=bubble_sort http://will.thimbleby.net/algorithms/doku.php?id=bubble_sort
- duncanmeech 12y agoagreed, but compiling the code does have the benefit of providing syntax checking and you are assured the full benefits of whatever JS engine your browser is running. How do I create new algorithms on you site? I could not figure that out.
- wijt 12y agoI make use of Tailspin [1], which is a JS-in-JS interpreter and almost fully ES262 compliant. The visualisation gets called on every line of code and updates itself based on inspecting the interpreter state. Two benefits are, the visualisation code is kept completely separate from the code being visualised. And secondly Tailspin offers the ability to step back in time. In terms of creating algorithms, it's a bit of an awkward wiki syntax at the moment, see the tutorial [2] and bubble sort example [3]. [1] http://wthimbleby.github.io/tailspin/ http://wthimbleby.github.io/tailspin/ [2] http://will.thimbleby.net/algorithms/doku.php?id=creating_an_algorithm http://will.thimbleby.net/algorithms/doku.php?id=creating_an... [3] http://will.thimbleby.net/algorithms/doku.php?id=algorithm:bubble_sort http://will.thimbleby.net/algorithms/doku.php?id=algorithm:b...
- btbuildem 12y agoDjikstra's Shortest Path crashes my browser (Chrome 37.0.2062.120)
- paraxisi 12y agoDoes it really need to reload the whole page to change to a new algo? Creates a crazy history trail you'll have to backspam through.
- alco 12y agoInstead of the animation speed setting it should have a slider (like, for instance, here http://debug.elm-lang.org/edit/Mario.elm http://debug.elm-lang.org/edit/Mario.elm). Otherwise, it's more like a nice animation than a learning tool.