Vector Representation - Data Structures - Exams, Exams for Data Structures. Bhupendra Narayan Mandal University

Data Structures

Description: Main points of this exam paper are: Vector Representation, Pcc Function, Homework Assignment, Class Intervalcollection, Intervalcontaining Method, Methods Calls, Case Running, Null Reference, Private Variable, Running Time
Showing pages  1  -  2  of  4
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 forthis.
public int hashCode ( ) { ...
}
// Return exactly whenthis represents the smae interval asintvl.
public boolean equals (Interval intvl) { ...
}
// Returntrue exactly whenthis contains x.
public boolean contains (int x) { ...
}
// Returntrue whenthis overlapsintvl,
// i.e. contains integers in common withintvl.
public boolean overlaps (Interval intvl) {...
CS 61B, MT2 Version B, Spring 1999
CS 61B, Spring 1999 MT2 Version B Professor M. Clancy 1
}
// Return the result of combiningthis withintvl.
// 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
Describe, using words and a diagram, an implementation of the IntervalCollection class that uses a
java.util.Hashtable object to optimize the intervalContaining operation as described above. Assume for the
purposes of illustration that chaining is used to resolve collisions and that the intervals [30,32] and [-12,-11]
collide; include these intervals in your diagram.
Part b
Write the intervalContaining method for the IntervalCollection class. Given an int argument,
intervalContaining returns a reference to the interval in the collection that contains the argument, or null if no
CS 61B, MT2 Version B, Spring 1999
Background 2
The preview of this document ends here! Please or to read the full document or to download it.
Document information
Embed this document:
Docsity is not optimized for the browser you're using. In order to have a better experience please switch to Google Chrome, Firefox, Internet Explorer 9+ or Safari! Download Google Chrome