Skip to content

Raghuvendra30/DSAVisualizerPro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ DSA Visualizer Pro

An advanced Data Structures and Algorithms Visualizer built using C++ and Qt Framework that provides interactive and real-time visualization of fundamental algorithms used in Computer Science. The application helps students, educators, and developers understand algorithm execution through dynamic graphical animations and performance metrics.


๐Ÿ“Œ Features

๐Ÿ”„ Sorting Algorithms

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

๐Ÿ” Searching Algorithms

  • Linear Search
  • Binary Search

๐ŸŒณ Tree Traversals

  • Preorder Traversal
  • Inorder Traversal
  • Postorder Traversal
  • Level Order Traversal

๐ŸŒ Graph Algorithms

  • Depth First Search (DFS)
  • Breadth First Search (BFS)
  • Dijkstra's Shortest Path Algorithm
  • Prim's Minimum Spanning Tree
  • Kruskal's Minimum Spanning Tree
  • Topological Sorting

๐ŸŽจ Visualization Features

  • Real-time algorithm animation
  • Dynamic graph and tree visualization
  • Adjustable execution speed
  • Start, Pause, Reset controls
  • Random data generation
  • Execution time tracking
  • Comparison counter
  • Swap counter
  • Complexity display
  • Color-based node and bar highlighting

๐Ÿ› ๏ธ Technologies Used

Technology Purpose
C++ Core Logic
Qt Framework GUI Development
Qt Creator IDE
CMake Build System
STL (Standard Template Library) Data Structures & Algorithms

๐Ÿ–ฅ๏ธ User Interface

The application provides an intuitive graphical interface that allows users to:

  • Select an algorithm from the dropdown menu
  • Generate random input data
  • Visualize algorithm execution step-by-step
  • Control animation speed
  • Monitor performance statistics in real time

๐Ÿ“Š Performance Metrics

The application tracks:

  • Number of Comparisons
  • Number of Swaps
  • Search Comparisons
  • Found Index
  • Execution Time
  • Time Complexity

These metrics help users understand the efficiency of different algorithms.


๐Ÿ“‚ Project Structure

DSAVisualizerPro/
โ”‚
โ”œโ”€โ”€ CMakeLists.txt
โ”œโ”€โ”€ main.cpp
โ”œโ”€โ”€ mainwindow.cpp
โ”œโ”€โ”€ mainwindow.h
โ”œโ”€โ”€ mainwindow.ui
โ”œโ”€โ”€ sortingvisualizer.cpp
โ”œโ”€โ”€ sortingvisualizer.h
โ”‚
โ”œโ”€โ”€ Screenshots/
โ”‚   โ”œโ”€โ”€ bubble_sort.png
โ”‚   โ”œโ”€โ”€ dfs.png
โ”‚   โ”œโ”€โ”€ bfs.png
โ”‚   โ”œโ”€โ”€ tree_traversal.png
โ”‚   โ””โ”€โ”€ dijkstra.png
โ”‚
โ””โ”€โ”€ README.md

๐Ÿš€ Getting Started

Prerequisites

  • Qt 6.x
  • Qt Creator
  • C++17 or later
  • CMake 3.16+

Installation

  1. Clone the repository:
git clone https://github.com/Raghuvendra30/DSAVisualizerPro.git
  1. Open the project in Qt Creator.

  2. Configure the Qt Kit.

  3. Build and Run the project.


๐ŸŽฏ Learning Objectives

This project was developed to:

  • Improve understanding of Data Structures and Algorithms
  • Visualize algorithm execution in real time
  • Compare algorithm performance
  • Demonstrate practical implementation of DSA concepts using C++ and Qt

๐Ÿ“ธ Screenshots

Bubble Sort Visualization

Bubble Sort

Binary Search Visualization

Binary Search

DFS Traversal

DFS

BFS Traversal

BFS

Dijkstra Algorithm

Dijkstra

Topological Sort

Topological Sort


๐Ÿ”ฎ Future Enhancements

  • AVL Tree Visualization
  • Binary Search Tree Operations
  • Linked List Visualization
  • Stack Visualization
  • Queue Visualization
  • Bellman-Ford Algorithm
  • Floyd-Warshall Algorithm
  • A* Pathfinding Visualization
  • Dark/Light Theme Switching
  • Export Statistics Report

๐Ÿ‘จโ€๐Ÿ’ป Author

Raghuvendra Singh

  • AI & Full Stack Developer
  • B.Tech Information Technology
  • CCNA Certified
  • NVIDIA Certified
  • AI Intern @ Marksman Technologies

โญ Support

If you found this project useful, consider giving it a โญ on GitHub.

Your support motivates further development and improvements.


๐Ÿ“„ License

This project is developed for educational and learning purposes. Feel free to fork, modify, and learn from the code.

About

Advanced DSA Visualizer built with C++ and Qt featuring Sorting, Searching, Graph, and Tree Algorithm Visualizations with real-time animations.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors