Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/naman14/AlgorithmVisualizer-Android

Visualize algorithms and data structures using animations
https://github.com/naman14/AlgorithmVisualizer-Android

Last synced: about 2 months ago
JSON representation

Visualize algorithms and data structures using animations

Awesome Lists containing this project

README

        

# AlgorithmVisualizer
Algorithm Visualizer for Android

Get it on Google Play

## Screenshots





## Visualizations

The following visualizations are available currently -

* Binary search
* Binary Search Tree (Search and insertion)
* Linked List and Stack
* Bubble sort and Insertion sort
* BFS and DFS traversal
* Dijkstara and Bellman Ford graph search

## Contributing

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.

Algorithm | Implementation | Visualizer |
------------ | -------------|-------------
Binary Search | BinarySearch | BinarySearchVisualizer
Binary Search Tree | BSTAlgorithm | BSTVisualizer
Linked List | LinkedList | LinkedListVisualizer
Stack | Stack | StackVisualizer
Breadth first search | GraphTraversal| DirectedGraphVisualizer
Depth first search | GraphTraversal| DirectedGraphVisualizer
Dijkstara | DijkstraAlgorithm | WeightedGraphVisualizer
Bellman Ford | BellmanFord | WeightedGraphVisualizer
Bubble Sort | BubbleSort | SortingVisualizer
Insertion Sort | InsertionSort | SortingVisualizer
Selection Sort | SelectionSort | SortingVisualizer

All algorithm implementations must extend [Algorithm](https://github.com/naman14/AlgorithmVisualizer-Android/blob/master/app/src/main/java/com/naman14/algovisualizer/algorithm/Algorithm.java) and implement the [DataHandler](https://github.com/naman14/AlgorithmVisualizer-Android/blob/master/app/src/main/java/com/naman14/algovisualizer/algorithm/DataHandler.java) 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.

## License

>(c) 2016 Naman Dwivedi

>This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

>You should have received a copy of the GNU General Public License along with this app. If not, see .