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 ProgramName
Pull requests are welcome! You can add:
Remaining experiments
GUI visualizations or CLI enhancements
Python versions for comparisons