Algorithm Visualizer - Interactive online platform that visualizes algorithms from code.

  •        47

Algorithm Visualizer is an interactive online platform that visualizes algorithms from code. It is a web app written in React. It not only contains UI components but also interprets visualizing commands into actual visualizations.

https://github.com/algorithm-visualizer/algorithm-visualizer
https://algorithm-visualizer.org/

Tags
Implementation
License
Platform

   




Related Projects

multidiff - Binary data diffing for multiple objects or streams of data

  •    Python

It's purpose is to make machine friendly data easier to understand by humans that are looking at it. Specifically multidiff helps in viewing the differences within a large set of objects by doing diffs between relevant objects and displaying them in a sensible manner. This kind of visualization is handy when looking for patterns and structure in proprietary protocols or weird file formats. The obvious use-cases are reverse engineering and binary data analysis. At the core of multidiff is the python difflib library and multidiff wraps it in data providing mechanisms and visualization code. The visualization is the most important part of the project and everything else is just utilities to make it easier to feed data for the visualizer. At this time the tool can do basic format parsing such as hex decoding, hexdumping, and handling data as utf8 strings, as well as read from files, stdin, and sockets. Any preprocessing such as cropping, indenting, decompression, etc. will have be done by the user before the objects are provided to multidiff.

SwiftGraph - A Graph Data Structure in Pure Swift

  •    Swift

SwiftGraph is a pure Swift (no Cocoa) implementation of a graph data structure, appropriate for use on all platforms Swift supports (iOS, macOS, Linux, etc.). It includes support for weighted, unweighted, directed, and undirected graphs. It uses generics to abstract away both the type of the vertices, and the type of the weights. It includes copious in-source documentation, unit tests, as well as search functions for doing things like breadth-first search, depth-first search, and Dijkstra's algorithm. Further, it includes utility functions for topological sort, Jarnik's algorithm to find a minimum-spanning tree, detecting a DAG (directed-acyclic-graph), and enumerating all cycles.

tsnejs - Implementation of t-SNE visualization algorithm in Javascript.

  •    Javascript

tSNEJS is an implementation of t-SNE visualization algorithm in Javascript. t-SNE is a visualization algorithm that embeds things in 2 or 3 dimensions. If you have some data and you can measure their pairwise differences, t-SNE visualization can help you identify clusters in your data. See example below.

G.A.V.

  •    Java

G.A.V. (Graph Algorithm Visualizer) is a tool that visualizes algorithms from graph theory. A step-by-step visualization from each different algorithm allows the user to understand the particular algorithm very easily.


t-digest - A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means

  •    Java

A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means. The t-digest algorithm is also very parallel friendly making it useful in map-reduce and parallel streaming applications. The t-digest construction algorithm uses a variant of 1-dimensional k-means clustering to produce a data structure that is related to the Q-digest. This t-digest data structure can be used to estimate quantiles or compute other rank statistics. The advantage of the t-digest over the Q-digest is that the t-digest can handle floating point values while the Q-digest is limited to integers. With small changes, the t-digest can handle any values from any ordered set that has something akin to a mean. The accuracy of quantile estimates produced by t-digests can be orders of magnitude more accurate than those produced by Q-digests in spite of the fact that t-digests are more compact when stored on disk.

lolviz - A simple Python data-structure visualization tool for lists of lists, lists, dictionaries; primarily for use in Jupyter notebooks / presentations

  •    Jupyter

By Terence Parr. See Explained.ai for more stuff. A simple Python data-structure visualization tool that started out as a List Of Lists (lol) visualizer but now handles arbitrary object graphs, including function call stacks! lolviz tries to look out for and format nicely common data structures such as lists, dictionaries, linked lists, and binary trees. This package is primarily for use in teaching and presentations with Jupyter notebooks, but could also be used for debugging data structures. Useful for devoting machine learning data structures, such as decision trees, as well.

algorithm-exercise - Data Structure and Algorithm notes. 数据结构与算法/leetcode/lintcode题解/

  •    Python

This work is some notes of learning and practicing data structures and algorithm. This project is hosted on https://github.com/billryan/algorithm-exercise and rendered by Gitbook. You can star the repository on the GitHub to keep track of updates. Another choice is to subscribe channel #github_commit via Slack https://ds-algo.slack.com/messages/github_commit/. RSS feed is under development.

cosmos - Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter | Ask us anything at our forum

  •    C++

Cosmos is your personal offline collection of every algorithm and data structure one will ever encounter and use in a lifetime. This provides solutions in various languages spanning C, C++, Java, JavaScript, Swift, Python, Go and others. This work is maintained by a community of hundreds of people and is a massive collaborative effort to bring the readily available coding knowledge offline.

kepler-mapper - KeplerMapper is a Python class for visualization of high-dimensional data and 3-D point cloud data

  •    Python

This is a Python implementation of the TDA Mapper algorithm for visualization of high-dimensional data. For complete documentation, see https://kepler-mapper.scikit-tda.org. KeplerMapper employs approaches based on the Mapper algorithm (Singh et al.) as first described in the paper "Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition".

DataStructureAndAlgorithms - Write code that run faster, use less memory and prepare for your Job Interview

  •    Java

In this course you will learn how to Analysis algorithms like Sorting, Searching, and Graph algorithms. And how to reduce the code complexity from one Big-O level to another level. Furthermore, you will learn different type of Data Structure for your code. Also you will learn how to find Big-O for every data structure, and how to apply correct Data Structure to your problem in Java. By the end you will be able to write code that run faster and use low memory. You Also will learn how to analysis problems using Dynamic programming.

Sourcetrail - The interactive source code browser

  •    C++

Sourcetrail, the lightweight code visualizer specifically crafted for fast and comprehensive navigation within your source code. Sourcetrail utilizes software visualization to dynamically generate interactive code maps of any selected type, function, variable, etc. and shows all their dependencies to the rest of the codebase.

algorithms - Ruby algorithms and data structures. C extensions

  •    Ruby

Using the right data structure or algorithm for the situation is an important aspect of programming. In computer science literature, many data structures and algorithms have been researched and extensively documented. However, there is still no standard library in Ruby implementing useful structures and algorithms like Red/Black Trees, tries, different sorting algorithms, etc. This project will create such a library with documentation on when to use a particular structure/algorithm. It will also come with a benchmark suite to compare performance in different situations. See LICENSE.md.

party-mode - An experimental music visualizer using d3.js and the web audio api.

  •    Javascript

Using the web audio api, I can get an array of numbers which corresponds to the waveform of the sound an html5 audio element is producing. There's a good tutorial on how to do this. Then, using requestAnimationFrame (with a little frame limiting for performance reasons) I'm updating that array as the music changes. I then normalize the data a bit (or transform it slightly depending on the visualization) and redraw the screen based on the updated array. I'm using d3.js to draw and redraw SVG based on this normalized data. Each visualization uses the data a bit differently -- it was mostly trial and error to get some stuff I liked looking at. Since I'm using D3 -- which is just drawing SVG -- I was able to style everything in CSS (no images are used at all, including icons). There are a handful of differently colored themes for each visualization, and I do some rudimentary CSS namespacing by updating a class applied to the html element. eg. <html class='theme_1'>. This lets me override or substitute CSS rules pretty trivially. I can add some additional variation to each theme by messing with pseudo selectors. For example, I can use :nth-of-type to hide every nth SVG rectangle or making every odd child have a different stroke-dasharray, etc.

Samples - Sample projects using Material, Graph, and Algorithm.

  •    Swift

Samples is a collection of example projects that use Material, Motion, Graph, and Algorithm. Using Material and Motion, a dynamic photo gallery is created with dynamic animations used during transitions.

javascript-algorithms - 🤖 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

  •    Javascript

This repository contains JavaScript based examples of many popular algorithms and data structures. Each algorithm and data structure has its own separate README with related explanations and links for further reading (including ones to YouTube videos).

algorithms_and_data_structures - 180+ Algorithm & Data Structure Problems using C++

  •    C++

Note: Some of the code here is old and was written when I was learning C++. It might be possible that code is not safe or making wrong assumptions. Please use with caution. Pull requests are always welcome. Include contains single header implementation of data structures and some algorithms.

AlgorithmVisualizer-Android - Visualize algorithms and data structures using animations

  •    Java

Contributions are welcome to be able to provide visualizations for more algorithms. The existing API for visualizers are given below. These existing visualizers can be used directly for most algorithms. All algorithm implementations must extend Algorithm and implement the DataHandler interface. The visualization happens on the main thread while the algorithms run in a seperate thread to be able to pause/resume execution. All data transfer must take place through the DataHandler interface.