This repository contains Java implementations of the Design and Analysis of Algorithms Lab (DAA Lab) as per the VTU syllabus (CAMBRIDGE INSTITUTE OF TECHNOLOGY, Semester IV). It includes a wide range of algorithmic strategies like Brute Force, Divide and Conquer, Greedy, Dynamic Programming, and Backtracking.
Each program is associated with real-world problem statements and focuses on:
- Algorithm design strategies (CO1)
- Problem-solving via programming (CO2)
- Time complexity analysis and empirical comparison (CO3)
| # | Title | Method |
|---|---|---|
| 1 | Sequential Search & Selection Sort | Brute Force |
| 2 | Quick Sort with Case Analysis | Divide and Conquer |
| 3 | Merge Sort | Divide and Conquer |
| 4 | Water Supply Network Design | Greedy (MST - Prim’s/Kruskal’s) |
| 5 | Optimal Road Network | Greedy + Union-Find |
| 6 | Shortest Road Routes (Cities) | Dijkstra’s Algorithm |
| # | Title | Method |
|---|---|---|
| 7 | Metropolitan Subway Optimization | Floyd-Warshall (All-Pairs Shortest Path) |
| 8 | Optimal Product Selection | 0/1 Knapsack using DP |
| 9 | Event Budget Allocation | Backtracking |
| # | Title | Method |
|---|---|---|
| 10 | Delivery Route Optimization | Hamiltonian Circuit |
| 11 | N-Queens Problem | Backtracking |
| 12 | Topological Sorting | DFS |
| 13 | Heap Sort | Priority Queue / Heap |
git clone https://github.com/sanjanatg/DAA-LAB-PROGRAMS.git
cd DAA-LAB-PROGRAMS
javac ProgramName.java
java ProgramNamePull requests are welcome! You can add:
Remaining experiments
GUI visualizations or CLI enhancements
Python versions for comparisons