3 Problems with Solutions on Data Structures - Exam 2 | COMPSCI 61B, Exams of Data Structures and Algorithms

Material Type: Exam; Class: Data Structures; Subject: Computer Science; University: University of California - Berkeley; Term: Spring 1999;

Typology: Exams

Pre 2010

Uploaded on 11/07/2010

koofers-user-54c
koofers-user-54c 🇺🇸

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 61B, MT2 Version B, Spring 1999
CS 61B, Spring 1999
MT2 Version B
Professor M. Clancy
Background
Some of the problems on this exam involve intevals of integers. (Note the difference between these intervals and
thsoe you worked with in homework assignment 4, which represented intervals on the real number line.)
The interval [a,b] represents all the integers that are greater than or equal to a and less than or equal to b. For
example, [3,5] represents the set of integers {3, 4, 5}, [-5,-4] represents the set {-5,-4}, and the interval [5,3]
represents the empty set.
The Interval class is defined as follows.
public class Interval {
private int myLeft;
private int myRight;
// Constructor.
public Interval (int left, int right) { ...
}
// Return this's left endpoint.
public int left ( ) {
return myLeft;
}
// Return this's right endpoint.
public int rightt ( ) {
return myRight;
}
// Return a hash value for this.
public int hashCode ( ) { ...
}
// Return exactly when this represents the smae interval as intvl.
public boolean equals (Interval intvl) { ...
}
// Return true exactly when this contains x.
public boolean contains (int x) { ...
file:///C|/Documents%20and%20Settings/Jason%20Raft...20Spring%201999%20-%20Clancy%20-%20Midterm%202.htm (1 of 4)1/27/2007 6:33:04 PM
pf3
pf4

Partial preview of the text

Download 3 Problems with Solutions on Data Structures - Exam 2 | COMPSCI 61B and more Exams Data Structures and Algorithms in PDF only on Docsity!

CS 61B, Spring 1999

MT2 Version B

Professor M. Clancy

Background

Some of the problems on this exam involve intevals of integers. (Note the difference between these intervals and thsoe you worked with in homework assignment 4, which represented intervals on the real number line.)

The interval [a,b] represents all the integers that are greater than or equal to a and less than or equal to b. For example, [3,5] represents the set of integers {3, 4, 5} , [-5,-4] represents the set {-5,-4} , and the interval [5,3] represents the empty set.

The Interval class is defined as follows.

public class Interval {

private int myLeft; private int myRight;

// Constructor. public Interval (int left, int right) { ... }

// Return this 's left endpoint. public int left ( ) { return myLeft; }

// Return this 's right endpoint. public int rightt ( ) { return myRight; }

// Return a hash value for this. public int hashCode ( ) { ... }

// Return exactly when this represents the smae interval as intvl. public boolean equals (Interval intvl) { ... }

// Return true exactly when this contains x. public boolean contains (int x) { ...

// Return true when this overlaps intvl, // i.e. contains integers in common with intvl. public boolean overlaps (Interval intvl) {... }

// Return the result of combining this with intvl. // Precondition: overlaps (intvl). public Interval extendThrough (Interval intvl) { ... } }

Problem 1 (4 poinst, 10 minutes)

The hash function below, a variation on the PCC function from "Real-World Hash Functions," is intended to be applid to English words as was the function in homework assignment 7. There are at least two sets of table sizes for which the function will work badly. Name them, and briefly explain your answers.

Suppose for the purposes of this problem that the Interval class from homework assignment 4 is defined as follows:

public int hashCode ( ) { int h = 0; for (int k=0; k < s.length(); k++) { h = 2 * (h + s.charAt (k)); } return h; }

Problem 2 (8 pionts, 24 minutes)

Background

This problem involves the implementation of a class IntervalCollection that stores a collection of nonoverlapping intervals of integers. (See the first page for more information about intervals of integers.) The class provides three methods: a constructor, an insert method, and an intervalContaining method that, given an integer, returns a reference to the interval in the collection that contains the integer. The intervalCollection class can be implemented, using hashing, in such a way as to optimize the intervalContaining operation. That is, if the interval [-5,-3] were in the collection, then the methods calls

intervalContaining (-5) intervalContaining (-4) intervalContaining (-3)

would all return the interval [-5,-3] quickly.

Part a

Part b

Making as few changes as possible, fix the bug.

Part c

The figures in the table below result from timing an application of the buggy version of deleteAll 1000 times to a list of N squares, and from doing the same thing using the same list with the corrected version. (The list is not necessarily one that would result from clicking the mouse in project 2.) Identify which timings go with which version, describe the list to which deleteAll was applied as completely as possible, and explain your reasoning for both answers.

one of the the other N versions of version of deleteAll deleteAll

Posted by HKN (Electrical Engineering and Computer Science Honor Society) University of California at Berkeley If you have any questions about these online exams please contact mailto:[email protected]