A comprehensive educational platform for engineering students to master algorithms and computer science concepts through interactive visualizations and simulations.
- Responsive Design: Beautiful gradient-based UI with modern animations
- Interactive Navigation: Easy access to all subjects and tools
- Student-Focused: Built specifically for engineering students' needs
- Professional Layout: Header, main content sections, and informative footer
- Finite Automata (DFA): Interactive state transition simulator
- Context-Free Grammar: Parser and derivation tree generator
- Regular Expressions: Pattern matching and regex testing
- Turing Machines: Step-by-step execution simulator
- Greedy Algorithms: Fractional Knapsack, Job Sequencing, Prim's MST, Kruskal's MST
- Dynamic Programming: 0/1 Knapsack with DP table visualization
- Divide & Conquer: Merge Sort with step-by-step visualization
- Backtracking: N-Queens with interactive chessboard
- Disk Scheduling: FCFS, SSTF, SCAN, C-SCAN algorithms
- Page Replacement: FIFO, LRU, Optimal algorithms
- Page Replacement: LRU, FIFO, and other page replacement algorithms
- Framework: Next.js 15 with TypeScript
- Styling: Tailwind CSS
- Charts: Custom SVG-based visualizations
- State Management: React Hooks
src/
βββ app/
β βββ daa/ # Design & Analysis of Algorithms
β β βββ greedy/ # Greedy algorithms
β β βββ dynamic/ # Dynamic programming
β β βββ divide-conquer/ # Divide and conquer
β β βββ backtracking/ # Backtracking algorithms
β βββ auto/ # Automata Theory
β β βββ finite-automata/ # FA simulations
β β βββ regular-expressions/ # Regex tools
β β βββ context-free-grammar/ # CFG parsers
β β βββ turing-machines/ # TM simulators
β βββ os/ # Operating Systems
β βββ components/ # Reusable React components
β βββ utils/ # Algorithm implementations
- Node.js 18 or later
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd algo-simulator- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
This is a collaborative group project. To contribute:
- Create a new branch for your feature:
git checkout -b feature/algorithm-name- Make your changes and commit:
git add .
git commit -m "Add: Algorithm name implementation"- Push to your branch:
git push origin feature/algorithm-name- Create a Pull Request on GitHub
- Follow consistent naming conventions
- Add proper TypeScript types
- Include step-by-step algorithm visualization
- Update this README if adding new features
- Test your implementations before submitting
- String Matching Algorithms (KMP, Rabin-Karp)
- Branch & Bound Algorithms (TSP, 0/1 Knapsack)
- Graph Algorithms (Dijkstra, Floyd-Warshall)
- Sorting Algorithms (Quick Sort, Heap Sort)
- NFA to DFA Conversion
- Pushdown Automata Simulator
- Multi-tape Turing Machines
- Regular Expression to FA Conversion
- Save/Load automata configurations
- Export visualizations as images
- Step-by-step animation controls
- Mobile-responsive design
- Yash Jadhav - Project Lead & Core Development (LinkedIn)
- Vaishnavi Sawant - Algorithm Implementation & UI/UX Design (LinkedIn)
For questions, suggestions, or collaboration:
- Email: help.algomaster@gmail.com
- Project: AlgoMaster - Engineering Algorithm Simulator
This project is created for educational purposes.
Students using this simulator will be able to:
- Understand algorithm complexity and visualization
- Trace through algorithm execution step-by-step
- Visualize data structures and state transitions
- Compare different algorithmic approaches
- Gain hands-on experience with theoretical concepts
Note: This is an educational project designed to help students understand complex algorithms and automata theory through interactive visualization.