| Homework 16General Comments
- Most problems are found in one of the following:
- Algorithms: Algorithms, Dasgupta, Papadimitriou, Vazirani
- AIDMA: An Active Introduction to Discrete Mathematics and Algorithms
- For full credit, provide context for each problem, show all calculations,
and justify all answers by providing enough comments to explain your reasoning.
- You will lose a significant amount of credit if you do not provide context,
calculations, and justifications for a problem.
- Numbers and/or algebra by themselves are not enough.
A correct answer with no justification will be worth no more than half credit,
and sometimes much less than that.
- Precision is very important. You cannot skip steps, make guesses,
or use flawed logic. Any of these things can lead to incorrect answers.
- Homework assignments must be very neatly written or typeset
(e.g. using Word or OpenOffice).
- Remember that you can get up to 50% credit on a problem if you get significant outside assistance. Thus, if you are totally stuck on a problem it might be worth getting help. However, you must indicate any assistance/collaboration (See the Homework Assistance section on the Policies page). Failure to do so could result in a failing grade for the course! Note that getting help from the Help Center or me does not count as significant outside assistance, but talking with your classmates or searching on the Internet does!
- If a problem asks for an algorithm,
you should give the most efficient algorithm you can find to ensure full credit.
You should also specify the complexity of the algorithm with justification,
whether or not the problem asks for it.
DetailsEach problem is worth 10 points.
- Algorithms 4.1. Show all of the relevant details!
- Algorithms 4.2. Start from S. Also, they mean to show the intermediate steps and draw the final shortest-path tree. As always, show all of the relevant work.
- Algorithms 4.4. Give a graph and an explanation of why the proposed algorithm will fail on the graph.
(Hint: I think my counterexample has 5 or 6 nodes.)
- Algorithms 4.5. Explain how to supplement/modify and existing algorithm. Justify that your algorithm is linear time.
- Algorithms 4.10. Do not make this one harder than it is.
You should be able to describe an easy change to an existing algorithm
to accomplish this. Clearly explain why the algorithm works and why the
complexity is θ(k|E|).
|