Skip to content

This repository contains code to our QT C++ DSA project "Algorithm Visualizer" which is an interactive application designed to help users visualize and learn algorithms in an intuitive way. It offers step-by-step animations for sorting,backtracking and tree algorithms.

License

Notifications You must be signed in to change notification settings

Ubaid01/Algo_Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm Visualizer Algorithm Visualizer Banner

Algorithm Visualizer is an interactive and educational tool designed to make learning algorithms fun and intuitive. It provides visual representations of sorting techniques, backtracking problems, and tree structures, making it easier to understand the concepts step-by-step.


Features

1. Sorting Algorithms

Visualize five fundamental sorting algorithms:

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Quick Sort
  • Merge Sort

Each sorting visualization includes:

  • Step-by-step animations for understanding algorithm behavior.
  • Controls: Start, Pause, Reset, Adjust Speed, and Array Size Selector (3 to 10 elements).
  • Additional resources: Video explanations and articles for theoretical understanding.

Note: Sorting visualization is limited to arrays of size 10 due to screen-width constraints, and inputs are currently randomized.


2. Backtracking Problems

Delve into classic backtracking algorithms:

  • Rat in a Maze: Find a path for a rat from (0,0) to (n-1, n-1) while avoiding obstacles.

    • Customizable grid size (up to 9x9).
    • Add obstacles interactively.
    • Controls: Start, Pause, Reset.
  • N-Queens Problem: Place N queens on an N×N chessboard so that no two queens attack each other.

    • Customizable grid size (up to 9x9).
    • Clear visualization of backtracking steps.

Both algorithms come with video explanations and articles for deeper understanding.


3. Tree Structures

Learn about two essential tree data structures:

  • Binary Search Tree (BST):

    • Insert and delete nodes interactively.
    • View in-order traversal (sorted order of elements).
  • AVL Tree:

    • Self-balancing binary search tree with rotations.
    • Visualize insertions, deletions, and balancing steps.
    • Pause/Resume feature to understand rotations clearly.

Both tree visualizations include video explanations and articles.


Prerequisites

  • Qt Framework: Install Qt Creator or set up the required libraries.
  • Basic understanding of CMake for building the project.

Installation

  1. Download the latest release from Algorithm Visualizer Releases.
  2. Run the standalone setup and follow the on-screen instructions.

Feedback and Contributions

We welcome your feedback! If you encounter any issues or have suggestions for improvement, please use the Issues section. Contributions are also encouraged—feel free to fork the repository and submit a pull request.


License

This project is licensed under the Apache License 2.0.

About

This repository contains code to our QT C++ DSA project "Algorithm Visualizer" which is an interactive application designed to help users visualize and learn algorithms in an intuitive way. It offers step-by-step animations for sorting,backtracking and tree algorithms.

Resources

License

Stars

Watchers

Forks

Packages

No packages published