CompSci 06/101, Fall 2011, Lab 11

By entering your name/net-id below you indicate you are present for this lab to answer these questions and that you were part of the process that resulted in answers being turned in.
Name: ______________    Net id: _____________ || Name: ______________    Net id: _____________

Name: ______________    Net id: _____________ || Name: ______________    Net id: _____________

RSG Questions

  1. Explain, in English, how the sentence below was generated from the grammar given on the RSG HOWTO page:
    I gave up working on this week's APT assignment. The problems were really , really , so impossible and I got h1n1 .
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
  2. Explain, in Python-ish pseudocode, how the sentence above was generated from the grammar given on the RSG HOWTO page and using the dictionary data structure described there.
  3.   
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      

  4. Explain, in Python-ish pseudocode, the base case for the generate function.
      
      
      
      
      
      
      
      
      
      

  5. Explain, in Python-ish pseudocode, the general case for the generate function.
      
      
      
      
      
      
      
      
      
      

SpreadingNews Questions

  1. You are the boss. You have three direct reports none of whom has any reports, e.g., the input is [-1,0,0,0]. How much time is needed for everyone to know the news?

  2. The input is [-1,0,1,2,3,3,3]; here's a diagram:
       0
       |
       1
       |
       2
       |
       3
       |
     +-+-+
     | | |
     4 5 6
    Once the person with index 3 hears the news, how many more minutes before all his direct reports hear?

  3. Same input: [-1,0,1,2,3,3,3], what's the final answer?

  4. The input is [-1,0,0,2,2,1,0,6,1,8,3]. Diagram below. For the best schedule, how many minutes after the process starts does person 7 get all the news?
             0
             |       
       +-----+-----+
       1     2     6
      +-+   +-+    +
      | |   | |    |
      5 8   3 4    7
        +   +
        |   |
        9   10
    
  5. If you created a dictionary to represent the supervisor/employee structure, what would be the keys and what would be the values?
      
      
      
      
      
      
      
      
      
      

  6. Describe, in English, how to determine the total number of minutes needed for a supervisor to notify all his employees.
      
      
      
      
      
      
      
      
      
      

  7. Describe, in English, the base case in this computation.
      
      
      
      
      
      
      
      
      
      

  8. Describe, in English, the general case in this computation.
      
      
      
      
      
      
      
      
      
      

  9. Describe, in English, how to minimize the time needed to notify employees (i.e., how to combine the results of the recursive function calls and report them to the calling function).