Question
Certain CS curriculum consists of n courses, all mandatory. Some of these courses have prerequisites that have to be taken in previous semesters. The program
Certain CS curriculum consists of n courses, all mandatory. Some of these courses have prerequisites that have to be taken in previous semesters. The program is designed in a way that there are no pair of courses that require each other. Assuming a student can take any number of courses per semester, design a dynamic programming algorithm that takes as input the list of courses and each prerequisites and outputs the minimum number of semesters necessary to complete the program. (Faster (and correct) algorithm in O() notation is worth more credit.) (a) Define the entries of your table in words. E.g., T (i) or T (i, j) is .... (b) State recurrence for entries of table in terms of smaller subproblems. (c) Write pseudocode for your algorithm to solve this problem. (d) Analyze the running time of your algorithm.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started