Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm Visualizer

Overview

Algorithm Visualizer is an Android application designed to provide interactive, educational visualizations of popular algorithms. Built using Kotlin and Jetpack Compose with Material3, this app brings algorithm concepts to life by animating their execution step-by-step. Whether you are a student, educator, or enthusiast, this tool offers a dynamic way to understand how algorithms work in practice.

Features

  • Multiple Algorithm Visualizations:
    • Graph Algorithms:
      • A* Search: Demonstrates pathfinding on a weighted graph with interactive playback controls.
      • Breadth-First Search (BFS): Shows the exploration order on a randomly generated graph.
      • Dijkstra’s Algorithm: Visualizes the process of finding the shortest path with detailed cost updates.
    • Sorting Algorithms:
      • Bubble Sort: Step-by-step animation of the classic sorting method.
      • Selection Sort: Visual representation of selection-based sorting.
    • Genetic Algorithm:
      • Simulates evolution with real-time updates on population fitness and convergence progress.
  • Interactive UI:
    • Playback controls (play, pause, previous, next, reset) and timeline sliders to control the simulation.
    • Explanation cards and dynamic result panels that provide algorithm insights.
  • Modern Architecture:
    • Utilizes the MVVM pattern with state management via Compose.
    • Smooth animations and transitions powered by Kotlin coroutines.

Technologies

  • Programming Language: Kotlin
  • UI Framework: Jetpack Compose, Material3
  • Architecture: MVVM
  • Libraries & Tools:
    • AndroidX Core, Lifecycle, and Activity Compose
    • Navigation Compose
    • Kotlin Coroutines
    • Compose Animation and Material Design Components

Installation & Setup

  1. Clone the Repository:
    git clone https://github.com/AlexisZhuber/AlgorithmVisualizer.git
    

Screenshots

Bubble Sort BFS in Graphs A Selection Sort Genetic Dijkstra's

About

Algorithm Visualizer is an Android Studio project designed to graphically and interactively demonstrate the functioning of five classic algorithms.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages