Skip to content

A Flutter-based app to visualize algorithms and data structures with step-by-step animations, covering sorting, searching, graphs, and more—making learning interactive, visual, and fun.

License

Notifications You must be signed in to change notification settings

AhmedAbdoElhawary/flutter-algorithm-visualizer

Repository files navigation

flutter-algorithm-visualizer

Flutter Algorithm and Data Structure Visualizer is an interactive learning tool designed to help students, developers, and enthusiasts understand how algorithms and data structures work under the hood. Built with Flutter, it provides a smooth, cross-platform experience on both mobile and desktop.

The app features intuitive step-by-step animations that bring abstract concepts like sorting, searching, graph, and pathfinding to life. Users can watch how algorithms process it in real time, and adjust the speed of execution for deeper exploration.

Key highlights include:

  • 📊 Sorting Algorithms – Visualize Bubble Sort, Merge Sort, Quick Sort, and more.

  • 🌐 Graph Algorithms – Understand BFS, and shortest path algorithms like Dijkstra and A*.

  • 🎨 Clean UI & Smooth Animations – Built with Flutter’s powerful rendering system for responsive and engaging visuals.

Whether you are preparing for coding interviews, studying computer science fundamentals, or just curious about algorithms, this app makes learning interactive, visual, and fun.

cliper.1.mp4
cliper.2.mp4
cliper.half.3.mp4
cliper.33.mp4

Initially, we will cover:

Category Algorithm Status
Graphs BFS
DFS
Dijkstra
A* Search
...More
---------------- ---------------------------- --------
Mazes Backtracking
Eller's maze
Randomized Kruskal's maze
Aldous-Broder
Recursive Division
Binary Tree
---------------- ---------------------------- --------
Sorting Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Radix Sort
Heap Sort
Bucket Sort
Counting Sort
---------------- ---------------------------- --------
Trees Binary Tree
Binary Search Tree
Ternary Tree
AVL Tree
Red-Black Tree
Segment Tree
N-ary Tree
B-Tree
---------------- ---------------------------- --------
Linked List Single
Double
Circular
Circular doubly

And more will be added later:

  • Dynamic Programming

  • Machine Learning Algorithms

  • Networking Algorithms

  • String Algorithms

  • And more...

  • We will also write an explanation code for every algorithm in several languages.

  • Compare different algorithms with the interaction way