CS3800 10F: Homework 08

Assigned: Wed 11-17
Due: Wed 12-01


  1. Please review the grading policy outlined in the course information page.

  2. On the first page of your solution write-up, you must make explicit which problems are to be graded for "regular credit", which problems are to be graded for "extra credit", and which problems you did not attempt. Please use a table something like the following

    Problem01020304 0506070809...

    where "RC" is "regular credit", "EC" is "extra credit", and "NA" is "not applicable" (not attempted). Failure to do so will result in an arbitrary set of problems being graded for regular credit, no problems being graded for extra credit, and a five percent penalty assessment.

  3. You must also write down with whom you worked on the assignment. If this changes from problem to problem, then you should write down this information separately with each problem.


Required: 5 of the following 7 problems
Points: 20 pts per problem

  1. Exercise 7.1 and Exercise 7.2. All parts except c,d. Include a one-line justification of each of your answers.
  2. Exercise 7.3. Note: you should use the Euclidean algorithm seen in class.
  3. Consider the language L = {0n | n is a power of 2}.
    Show that L is in TIME(n log n) (recall this refers to single-tape Turing machines).
    OPTIONAL CHALLENGE: Show that L is in TIME(n) if we allow Turing machines to have two tapes.
  4. Exercise 7.6, Exercise 7.7.
  5. Exercise 7.9. Note: A triangle is a set of three distinct nodes that are all connected to each other.
  6. Exercise 7.11.
  7. Problem 7.13.