Create and exercise a hash table of college students

Assignment Help Database Management System
Reference no: EM131746016

Assignment

1. The main goal of this assignment is to create and exercise a hash table of college students. The key is the student ID (an object of the ID class) and the value is an object of the Student class.

2. Use the following classes: Student, ID, StudentTable, Application

3. The ID object represents a pair of two 10-digit integers, each integer will be randomly selected between 0 and 2,000,000,000. The reason for the random selection is that we will have to issue IDs for a large number of students (up to 1,000,000) and using a pair of 10 digit numbers allow us reasonably assume that different students will have different IDs.

4. The ID class has two instance fields to store the first and the second element of the pair. The no-arg constructor randomly initializes the fields. The class has an equals( ) method to compare ID objects for equality of their respective fields.

5. The Student class has two instance fields for a name and an ID of the Student object. The constructor takes a String parameter to initialize name, and calls the ID class constructor to initialize the ID field. The Student class must have an equals( ) method as well, such that Student objects can be compared.

6. The StudentTable class implements a hash table as described in your reading (see pp 584 - 594). The elements are Student objects, the keys are ID objects.

7. Note that the put( ) method you have in this project shall take only an ‘element' for parameter, no ‘key'. When a Student object is instantiated it gets its key as its ID field. Thus you can retrieve the key by using an accessor method.

8. The StudentTable constructor takes a parameter for the size of the table, and instantiates all the three array fields (keys, data, hasBeenUsed) to that size.

9. The Application class tests and drives your program.

10. In the main method instantiate a StudentTable with size 30000. Use open address hashing to populate the arrays with 15000 students (load factor ½).

11. For measuring the performance of linear probing add a fourth array to your table class named experiment. The length is the table length but it is not part of the data structure. Set up a counter variable such that every time a new Student is added to the table, the counter keeps track of the number of iterations the while loop has to make in the put method. When the search is done, store the counting result in the next entry of the experiment array. After the loading procedure compute the average of the array elements. Repeat the entire loading procedure this time to reach load factor 0.85. Compare the averages and comment on your experience. Note: you do not really need the extra array experiment. You may accumulate the sum total of the probing in a single variable, and compute the average at the end. Moreover, you can compute the average on the run, updating average at every call of put.

12. You will need names supplied to the constructor, therefore you need a name generator method in the Application class. Add the method randomName( ) to the class. The method takes an int parameter for the length of the names (use 7). Every call of the method produces a random name such that the first character is a capital letter randomly chosen, the other characters are alternately random vowels and random consonants. A short sample list of 49 such names are shown below:

Yupoyes, Rijaboq, Hipocun, Quvaxim, Uopexod, Facujeq, Vohiyip, Lipeyib, Bezolul, Cefukon, Cemapen, Risisay, Dijewuk, Bepetoz, Kojimoy, Eaxikar, Xihahef, Uimojuq, Metuver, Hepejah, Yawihuk, Xocasal, Bulekiw, Eejuvas, Fapasaj, Gulobok, Uupinof, Fajonum Vuyinor, Lopoyas, Qotiqab, Reduder, Iixelup, Hemepuk, Penilir Piyivaw, Uajaqub, Xugoruq, Yirediy, Zudakup, Xavamow, Ramedaz Aeriwov, Huqurer, Wifaguf, Qahuloj, Jojewiy, Qomanev, Iipunap

13. In the testing phase check if the ID numbers are created correct.

14. To display the table, find the first 50 non-null Students in the table and print their names and the corresponding array indexes to the console. 15. As non-mandatory experiments you may want to try and test other hash method(s) and larger tables with larger load factors, as well.

Reference no: EM131746016

Questions Cloud

Predict the mean ozone level for cities : Predict the mean ozone level for cities of that size with an interval in which you have 90% confidence
How much is the value of the ending inventory : Using the FIFO inventory method in a perpetual inventory system, how much is the value of the ending inventory
Conduct an online search of social investment fund companies : Conduct an online search of “social investment fund companies.” What is your opinion of websites of some of these companies and their stated mission and values?
Explain the different types of crimes that appear : Write a memo concerning the rise in criminal behaviors related to chemical addictions. Which chemical addictions have been more related to violent crimes?
Create and exercise a hash table of college students : Create and exercise a hash table of college students. The key is the student ID (an object of the ID class) and the value is an object of the Student class.
Define how much is cost of goods sold for august : Using the LIFO inventory method, how much is cost of goods sold for August using a perpetual inventory system
Identify the appropriate interventions for family recovery : Explain the nonconstructive behaviors of Dan, Marie, and Peter that contribute to the family's dysfunction.
Is there a significant association between sales and profits : Is there a significant association between sales and profits? Test an appropriate hypothesis and state your conclusion in context
Why communication skills are important to organizational : discuss why communication skills are important to organizational success and why recruiters focus so much on finding leads with good communication skills.

Reviews

Write a Review

Database Management System Questions & Answers

  Write a join query that for every order

Write a join query that for every order placed on September 5, 1998, (use '05-SEP-1998') will list the order number and order date along with the customer number, last name, and first name of the customer who placed the order.

  Explain how concept of an index improve performance

Discuss the concept of an index and explain how they improve performance. Identify and discuss what the most practical and easily applied lesson you learned was. Also, discuss which lesson was the hardest for you to grasp? Why?

  1 not having an appropriate index can cause a full table

1. not having an appropriate index can cause a full table scan while performing the select statement by using a

  Design scheme for determining wine bottle which poisoned

Design a scheme for determining exactly which one of the wine bottles was poisoned in just one month's time while expending O(logn) taste testers.

  List the book code title and discounted price

Customers who are part of a special program get a 10 percent discount off regular book prices. For the first five books in the BOOK table, list the book code.

  Create a query with all fields from the student table

Create a query with all fields from the student table, where the student's last name is "Smith". Screen shots depicting the records added into each table.

  Functional dependencies explain the difference between

explain the difference between functional dependencies that arise from equations and those that do

  Write a detail document about the various business rules

Identify the appropriate relationships among the entities and define the minimum and maximum cardinality of each relationship. Make some additional assumptions about the business rules if necessary.

  Describe briefly any workflow database that you know of.

What types of tasks would benefit from databases utilizing workflow technology?

  Design a dss to help decision-makers

Design a DSS to help decision-makers run the 2012 London Olympics-Write down the step-by-step solution to train the classifier by the basic perceptron learning rule.

  Discuss process you went through to select appropriate data

Discuss the process you went through to select the appropriate data types, primary and foreign keys, and other constraints that are necessary to maintain the integrity of the database.

  How many green books it has

Webster Library wants to know how many green books it has. Out of the 500 shelves of books, 3 shelves were selected. These shelves hold 150 books each. 54 of the books sampled were green.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd