Skip to content

gael55x/DSA-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 

Repository files navigation

DSA Visualizer [Work In Progress]

Interactive web-based platform for learning data structures and algorithms through real-time visualizations and step-by-step code execution.

This project is currently under active development. Features and documentation are subject to change.

Built with Next.js TypeScript Tailwind CSS License: MIT

Features

Data Structures

  • Arrays: Interactive operations with insertion, deletion, and searching
  • Linked Lists: Complete implementation with traversal animations
  • Stacks: LIFO operations with push, pop, and peek visualizations
  • Queues: FIFO operations with enqueue, dequeue, and front peek
  • Binary Trees: Tree operations with search, insertion, and deletion

Sorting Algorithms

  • Bubble Sort: Step-by-step comparisons and swaps
  • Selection Sort: Minimum element selection visualization
  • Insertion Sort: Element insertion with shift animations

Core Features

  • Real-time Visualizations: Smooth animations for all operations
  • Code Execution: Step-by-step highlighting with explanations
  • Modern UI: Clean, responsive dark theme design
  • Educational Focus: Comprehensive complexity analysis
  • 100% Interactive: Hands-on learning experience
  • Mobile Optimized: Works perfectly on all devices

Quick Start

Prerequisites

  • Node.js 18+
  • npm, yarn, or pnpm

Installation

# Clone the repository
git clone https://github.com/gael55x/DSA-Visualizer.git
cd DSA-Visualizer/dsa-visualizer

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:3000 to see the result.

Production Build

npm run build
npm start

🎮 How to Use

  1. Navigate between data structures using the navigation bar
  2. Input values through the intuitive forms
  3. Select operations like insert, delete, search, or sort
  4. Watch algorithms execute with real-time animations
  5. Follow code execution with highlighted explanations
  6. Learn from complexity analysis and educational content

Tech Stack

  • Framework: Next.js 14 with App Router
  • Language: TypeScript for type safety
  • Styling: Tailwind CSS for modern design
  • Animations: Framer Motion for smooth interactions
  • Icons: Lucide React for consistent iconography
  • Deployment: Optimized for Vercel/Netlify

Project Structure

dsa-visualizer/
├── app/                    # Next.js App Router
│   ├── array/             # Array visualizer
│   ├── linked-list/       # Linked list visualizer
│   ├── stack/             # Stack visualizer
│   ├── queue/             # Queue visualizer
│   ├── binary-tree/       # Binary tree visualizer
│   ├── sorting/           # Sorting algorithms
│   └── about/             # About page
├── components/            # React components
│   ├── visualizers/       # Core visualizer components
│   ├── ui/               # Reusable UI components
│   └── *.tsx             # Layout components
├── lib/                   # Utility functions
└── public/               # Static assets

What Makes It Special

  • Visual Learning: Complex algorithms become intuitive through visualization
  • Interactive Experience: Direct manipulation and real-time feedback
  • Educational First: Built specifically for learners and educators
  • Modern Design: Clean, accessible interface with smooth animations
  • Performance: Optimized for smooth 60fps animations
  • Mobile Ready: Responsive design that works on all devices

Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Contribution Ideas

  • Additional sorting algorithms (Quick Sort, Merge Sort, Heap Sort)
  • New data structures (Hash Tables, Graphs, AVL Trees)
  • Algorithm optimizations and improvements
  • UI/UX enhancements
  • Accessibility improvements
  • Educational content expansion
  • Performance optimizations

License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with modern React patterns and TypeScript best practices
  • Inspired by educational visualization tools and CS learning resources
  • Thanks to the open-source community for amazing libraries and tools

Support

If you find this project helpful:

  • Star this repository
  • Report bugs or request features via issues
  • Contribute code improvements
  • Buy me a coffee at coff.ee/gailleamolg

Ready to master data structures and algorithms? Start Learning →

Built with 🔥 for learners by a learner

About

DSA Visualizer is an interactive web-based tool designed to help students and developers understand core data structures and algorithms through real-time visualizations.

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages