Skip to content

A complete Java implementation of lab exercises from the Design and Analysis of Algorithms (DAA) course (Course Code: 23CS253), aligned with the VTU syllabus. Covers brute-force, divide and conquer, greedy, dynamic programming, and backtracking strategies—complete with problem statements, code, and performance analysis plots.

Notifications You must be signed in to change notification settings

sanjanatg/DAA-LAB-PROGRAMS

Repository files navigation

💡 Design and Analysis of Algorithms – Lab Programs (23CS253)

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.


🧪 Lab Structure & Syllabus Overview

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)

📋 Lab Experiments (As per Official Syllabus)

🔹 Part A – Basic and Divide & Conquer Strategies

# 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

🔹 Part B – Dynamic Programming

# 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

🔹 Part C – Beyond Syllabus (Virtual Lab + Classic Problems)

# Title Method
10 Delivery Route Optimization Hamiltonian Circuit
11 N-Queens Problem Backtracking
12 Topological Sorting DFS
13 Heap Sort Priority Queue / Heap

⚙️ How to Run

git clone https://github.com/sanjanatg/DAA-LAB-PROGRAMS.git
cd DAA-LAB-PROGRAMS
javac ProgramName.java
java ProgramName

🤝 Contributions

Pull requests are welcome! You can add:

Remaining experiments

GUI visualizations or CLI enhancements

Python versions for comparisons

About

A complete Java implementation of lab exercises from the Design and Analysis of Algorithms (DAA) course (Course Code: 23CS253), aligned with the VTU syllabus. Covers brute-force, divide and conquer, greedy, dynamic programming, and backtracking strategies—complete with problem statements, code, and performance analysis plots.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages