https://github.com/naman14/AlgorithmVisualizer-Android
Visualize algorithms and data structures using animations
https://github.com/naman14/AlgorithmVisualizer-Android
Last synced: 6 months ago
JSON representation
Visualize algorithms and data structures using animations
- Host: GitHub
- URL: https://github.com/naman14/AlgorithmVisualizer-Android
- Owner: naman14
- Created: 2016-06-02T11:11:55.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-11-10T00:59:29.000Z (over 5 years ago)
- Last Synced: 2024-10-30T03:40:09.739Z (6 months ago)
- Language: Java
- Homepage:
- Size: 1.22 MB
- Stars: 1,129
- Watchers: 46
- Forks: 194
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AlgorithmVisualizer
Algorithm Visualizer for Android## 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 .