


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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
Typology: Exams
1 / 4
This page cannot be seen from the preview
Don't miss anything!
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) {...
CS 61B, Spring 1999 MT2 Version B Professor M. Clancy 1
Return // the result of combining this with intvl. Precondition: // overlaps (intvl). public Interval extendThrough (Interval intvl) { ... } }
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 <s.length();k=0; k k++) { h = 2 * (h + s.charAt (k)); } return h; }
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
Background 2
one of the the other N versions of version of deleteAll deleteAll
Problem 3 (7 points, 15 minutes) 4