This web application is an interactive educational tool designed to visualize various Divide and Conquer algorithms. It provides step-by-step animations, phase explanations (Divide, Conquer, Combine), and mathematical time complexity analysis for eight distinct algorithms.
Interactive visualizations for the following algorithms:
- Merge Sort: Step-by-step physical array division and color-coded merging.
- Quick Sort: Pivot highlighting and in-place partition swapping.
- Min & Max Finding: Recursive elimination tree highlighting absolute extremes.
- Matrix Multiplication (Standard): 2x2 grid multiplication with D&C quadrant highlighting.
-
Strassen's Multiplication: 2x2 matrix calculation displaying dynamic
$P_1$ through$P_7$ formulas. - Largest Subarray Sum: Array splitting with crossing-sum evaluations handling negative integers.
- Closest Pair of Points: 2D canvas visualization with vertical boundary lines and overlapping strip calculations.
- Convex Hull (Quickhull): 2D canvas visualization recursively building outer polygon boundaries.
- HTML5: Structure and semantic layout.
- CSS3: Styling, Flexbox/Grid layouts, and transition animations.
- Vanilla JavaScript (ES6+): DOM manipulation, HTML5 Canvas drawing, asynchronous animation logic (
async/await), and algorithm implementation.
- Clone the repository or extract the project files.
- Open
index.htmlin any modern web browser (Chrome, Firefox, Edge). - Select an algorithm from the left navigation sidebar.
- Read the phase descriptions and recurrence relations.
- Click "Start Visualization" to watch the algorithm execute.