A powerful Data Structure and Algorithm Visualizer built using React, ShadCN UI, and Sonner for a beautiful, interactive, and educational experience. Perfect for students, educators, and developers looking to visualize and understand DSA concepts step-by-step.
- ๐ Searching Algorithm Visualizations (Binary Search, Linear Search)
- ๐ Sorting Algorithm Visualizations (Bubble Sort, Quick Sort, Merge Sort, etc.)
- ๐ Data Structure Visualizations (Arrays, Stacks, Queues, Linked Lists)
- ๐ Algorithm Race Mode - Compare multiple algorithms head-to-head
- ๐ค AlgoBot - AI-powered algorithm assistant using Google Gemini API
- ๐จ Modern UI powered by ShadCN and Tailwind CSS
- โก Elegant Toaster Notifications using Sonner
- ๐ Step-by-Step Execution of algorithms with real-time state updates
- ๐ Dark Mode Support for a comfortable viewing experience
- ๐ฑ Responsive Design for mobile and desktop devices
- ๐ณ Tree Data Structures (Binary Trees, BST, AVL, Red-Black Trees)
- ๐ Graph Algorithms (DFS, BFS, Dijkstra's, Kruskal's, Prim's)
- ๐งฎ Dynamic Programming visualizations
- ๐ More Sorting Algorithms (Heap Sort, Radix Sort, Counting Sort)
- ๐ฏ Advanced Data Structures (Heaps, Hash Tables, Tries)
- ๐ Multi-Language (i18n) Support
- ๐ Performance Analytics and complexity analysis
- ๐ฅ Enhanced Animations with more visual effects
- ๐พ Save and Share algorithm configurations
git clone https://github.com/echoabhinav/DsaVisualiser.git
cd DsaVisualisernpm installCreate a .env file in the root directory and add your Gemini API key:
VITE_GEMINI_API_KEY=your_gemini_api_key_herenpm run devThe app should now be running on
http://localhost:5173
DsaVisualiser/
โโโ .env # Environment variables (Gemini API key)
โโโ .gitignore # Git ignore rules
โโโ components.json # ShadCN UI components configuration
โโโ eslint.config.js # ESLint configuration
โโโ index.html # Main HTML file
โโโ package.json # Project metadata and dependencies
โโโ package-lock.json # Locked dependency versions
โโโ tsconfig.json # TypeScript configuration
โโโ tsconfig.app.json # TypeScript app-specific config
โโโ tsconfig.node.json # TypeScript Node.js config
โโโ vercel.json # Vercel deployment configuration
โโโ vite.config.ts # Vite configuration
โโโ public/ # Static files
โ โโโ _redirects # Netlify/Vercel redirects
โโโ src/ # Source code
โโโ main.tsx # Application entry point
โโโ index.css # Global styles
โโโ App.css # App-specific styles
โโโ vite-env.d.ts # Vite environment types
โโโ Layout.tsx # Main layout component
โโโ Hero.tsx # Hero section component
โโโ Navbar.tsx # Navigation component
โโโ Footer.tsx # Footer component
โโโ AlgorithmCategories.tsx # Algorithm categories display
โโโ algorithm-detail.tsx # Algorithm detail view
โโโ data-structure-categories.tsx # Data structure categories
โโโ components/ # Reusable UI components
โ โโโ ui/ # ShadCN UI components
โ โโโ button.tsx
โ โโโ card.tsx
โ โโโ input.tsx
โ โโโ dialog.tsx
โ โโโ badge.tsx
โ โโโ tabs.tsx
โ โโโ progress.tsx
โ โโโ slider.tsx
โ โโโ separator.tsx
โ โโโ label.tsx
โ โโโ textarea.tsx
โ โโโ alert.tsx
โ โโโ dropdown-menu.tsx
โ โโโ sonner.tsx
โ โโโ scroll-area.tsx
โ โโโ avatar.tsx
โโโ context/ # React context providers
โ โโโ theme.ts # Theme context
โโโ lib/ # Utility libraries and algorithms
โ โโโ utils.ts # General utility functions
โ โโโ array-utils.ts # Array manipulation utilities
โ โโโ sorting-algorithms.ts # Sorting algorithm implementations
โ โโโ searching-algorithms.ts # Searching algorithm implementations
โโโ pages/ # Application pages/routes
โโโ Home.tsx # Home page
โโโ About.tsx # About page
โโโ Algobot.tsx # AI-powered algorithm assistant
โโโ Searching.tsx # Searching algorithms page
โโโ Sorting.tsx # Sorting algorithms page
โโโ data-structures/ # Data structure visualizations
โ โโโ index.ts # Data structure exports
โ โโโ arrays.tsx # Array data structure
โ โโโ stacks.tsx # Stack data structure
โ โโโ queues.tsx # Queue data structure
โ โโโ linked-lists.tsx # Linked list data structure
โ โโโ data-structure-visualizer.tsx # Base visualizer
โโโ race/ # Algorithm race mode
โโโ Race.tsx # Main race page
โโโ algorithm-race.tsx # Race logic
โโโ algorithm-visualizer.tsx # Race visualizer
โโโ custom-input.tsx # Custom input component
โโโ race-leaderboard.tsx # Race leaderboard
Contributions are welcome! Feel free to fork the repository and open a pull request.
- Fork it ๐ด
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -am 'Add cool feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request ๐
This project is licensed under the MIT License ยฉ 2025 Abhinav Tiwari.
Feel free to use, modify, and distribute this project for personal or commercial purposes.