BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 16PP
Program Plan Intro
To implement a hash table with double hashing
Program plan:
- In a file “HashSet.java”, import necessary package, and create a class “HashSet”,
- Declare the array of “Object” type.
- Declare the necessary variable.
- Define the constructor to create a hash table.
- Create an array and set the current size to “0”.
- Define the method “toString()” that returns the string representation of array.
- Define the method “hash2()” that returns the hard-coded queue for the problem.
- Define the method “contains()”,
- Assign the hash code.
- Check the condition,
- If it is true, returns true.
- Create a loop,
-
- Compute the probe.
- Check the condition,
- If it is true, returns true.
- Check whether the bucket value contains null,
- If it is true, returns false.
- Returns false.
- If it is true, returns true.
- Define the method “getHashCode()”,
- Assign the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash value.
- Return the hash code.
- If it is true, assign the negative value.
- Define the method “add()”
- Check whether there is a room before probing,
- If it is true, call the method “resizeTable()()”.
- Assign the hash code returned from the method “getHashCode()”.
- Check whether the has value is a null,
-
- If it is true, assign the object properties.
- Otherwise, execute a loop,
-
- Compute the quadratic probe.
- Check whether the bucket contains null value,
- If it is true, assign the object properties.
- Use break statement.
- Otherwise, Check the condition,
- Returns false.
- Increment the current size.
- Returns true.
- If it is true, call the method “resizeTable()()”.
- Check whether there is a room before probing,
- Define the method “remove()” to remove the object from the set,
- Get the hash code.
- Set the position to “-1”.
- Check the condition,
- If it is true, assign the hash code to position.
- Create a loop,
-
- Compute the probe.
- Check the condition, set the new position.
- Check whether the position value is “-1”,
-
- If it is true, returns false.
- If the item found, find the last item in the rest of the probing sequence.
- Create a loop,
-
- Compute the probe.
- Check whether the current bucket value contains null,
- If it is true, use break.
- Otherwise, check the condition,
- If it is true, assign the current value to as last index.
- Check whether the last index is “-1”,
-
- If it is true, assign the null value and decrement the size.
- Otherwise, assign the last index value to the current position.
- Assign null value to last index.
- Create a loop to rehash the table,
-
- Compute the probe.
- Check the condition,
- If it is true, break the loop.
- Assign the current bucket value to object.
- Assign null value to bucket.
- Decrement current size.
- Call the method “add()”.
- Returns true.
- If it is true, assign the hash code to position.
- Define the method “iterator()” that returns an iterator that traverses the elements of the set.
- Define the method “size()” to return the size.
- Define the method “resizeTable()”,
- Create an object.
- Copy the bucket to the object array.
- Assign the value to the bucket.
- Set the current size to “0”.
- Create a loop,
- Check the condition,
- If it is true, call the method “add()”.
- Check the condition,
- Create a class “HashSetIterator”,
- Declare the variable to denote bucket index.
- Define the constructor that creates a hash set iterator that points to the first element of the hash set.
- Define the method “hasNext ()”,
- Create a loop,
- Check the condition,
-
- Returns true.
- Returns false.
- Create a loop,
- Define the method “next ()”,
- Execute the statement without checking the condition,
- Increment the index.
- Check the condition,
-
- If it is true, create an object for “NoSuchElementException”.
- Check whether the current bucket value contains null,
- Return the value.
- Execute the statement without checking the condition,
- Define the method “remove()”,
- Throw an exception “UnsupportedOperationException”.
- In a file “HashSetTest.java”, create a class “HashSetTest”,
- Define the method “main()”,
- Create an object for “HashSet”.
- Add the name “Harry” into the set.
- Add the name “Romeo” into the set.
- Add the name “Susannah” into the set.
- Add the name “Sarah” into the set.
- Add the name “Adam” into the set.
- Add the name “Larry” into the set.
- Print the set.
- Print the expected output.
- Remove “Susannah” from the set.
- Print the set and expected result.
- Check whether “Adam” is in the set and print the result.
- Print the expected result.
- Define the method “main()”,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
I would like to get help to resolve the following case
Last Chance Securities
The IT director opened the department staff meeting today by saying, "I've got some good news and
some bad news. The good news is that management approved the payroll system project this morning.
The new system will reduce clerical time and errors, improve morale in the payroll department, and avoid
possible fines and penalties for noncompliance. The bad news is that the system must be installed by
January 1st in order to meet new federal reporting rules, all expenses from now on must be approved in
advance, the system should have a modular design if possible, and the vice president of finance would
like to announce the new system in a year-end report if it is ready by mid-December."
Tasks
1. Why is it important to define the project scope? How would you define the scope of the payroll
project in this case?
2. Review each constraint and identify its characteristics: present versus future, internal versus exter-
nal, and mandatory versus desirable.
3. What…
2. Signed Integers
Unsigned binary numbers work for natural numbers, but many calculations use negative
numbers as well. To deal with this, a number of different methods have been used to represent
signed numbers, but we will focus on two's complement, as it is the standard solution for
representing signed integers.
2.1 Two's complement
• Most significant bit has a negative value, all others are positive. So, the value of an n-digit
-2
two's complement number can be written as: Σ2 2¹ di 2n-1 dn
• Otherwise exactly the same as unsigned integers.
i=0
-
• A neat trick for flipping the sign of a two's complement number: flip all the bits (0 becomes 1,
or 1 becomes 0) and then add 1 to the least significant bit.
• Addition is exactly the same as with an unsigned number.
2.2 Exercises
For questions 1-3, answer each one for the case of a two's complement number and an
unsigned number, indicating if it cannot be answered with a specific representation.
1. (15 pts) What is the largest integer…
Chapter 16 Solutions
BIG JAVA: LATE OBJECTS
Ch. 16.1 - Prob. 1SCCh. 16.1 - Prob. 2SCCh. 16.1 - Prob. 3SCCh. 16.1 - Prob. 4SCCh. 16.1 - Prob. 5SCCh. 16.1 - Prob. 6SCCh. 16.1 - Prob. 7SCCh. 16.2 - Prob. 8SCCh. 16.2 - Prob. 9SCCh. 16.2 - Prob. 10SC
Ch. 16.2 - Prob. 11SCCh. 16.2 - Prob. 12SCCh. 16.3 - Prob. 13SCCh. 16.3 - Prob. 14SCCh. 16.3 - Prob. 15SCCh. 16.3 - Prob. 16SCCh. 16.3 - Prob. 17SCCh. 16.3 - Prob. 18SCCh. 16.4 - Prob. 19SCCh. 16.4 - Prob. 20SCCh. 16.4 - Prob. 21SCCh. 16.4 - Prob. 22SCCh. 16.4 - Prob. 23SCCh. 16.4 - Prob. 24SCCh. 16 - Prob. 1RECh. 16 - Prob. 2RECh. 16 - Prob. 3RECh. 16 - Prob. 4RECh. 16 - Prob. 5RECh. 16 - Prob. 6RECh. 16 - Prob. 7RECh. 16 - Prob. 8RECh. 16 - Prob. 9RECh. 16 - Prob. 10RECh. 16 - Prob. 11RECh. 16 - Prob. 12RECh. 16 - Prob. 13RECh. 16 - Prob. 14RECh. 16 - Prob. 15RECh. 16 - Prob. 16RECh. 16 - Prob. 17RECh. 16 - Prob. 18RECh. 16 - Prob. 19RECh. 16 - Prob. 20RECh. 16 - Prob. 21RECh. 16 - Prob. 22RECh. 16 - Prob. 23RECh. 16 - Prob. 24RECh. 16 - Prob. 25RECh. 16 - Prob. 26RECh. 16 - Prob. 1PECh. 16 - Prob. 2PECh. 16 - Prob. 3PECh. 16 - Prob. 4PECh. 16 - Prob. 5PECh. 16 - Prob. 6PECh. 16 - Prob. 7PECh. 16 - Prob. 8PECh. 16 - Prob. 9PECh. 16 - Prob. 10PECh. 16 - Prob. 11PECh. 16 - Prob. 12PECh. 16 - Prob. 13PECh. 16 - Prob. 14PECh. 16 - Prob. 15PECh. 16 - Prob. 16PECh. 16 - Prob. 17PECh. 16 - Prob. 18PECh. 16 - Prob. 19PECh. 16 - Prob. 20PECh. 16 - Prob. 21PECh. 16 - Prob. 1PPCh. 16 - Prob. 2PPCh. 16 - Prob. 3PPCh. 16 - Prob. 4PPCh. 16 - Prob. 5PPCh. 16 - Prob. 6PPCh. 16 - Prob. 7PPCh. 16 - Prob. 8PPCh. 16 - Prob. 9PPCh. 16 - Prob. 10PPCh. 16 - Prob. 11PPCh. 16 - Prob. 12PPCh. 16 - Prob. 13PPCh. 16 - Prob. 14PPCh. 16 - Prob. 15PPCh. 16 - Prob. 16PPCh. 16 - Prob. 17PP
Knowledge Booster
Similar questions
- can u solve this questionarrow_forward1. Unsigned Integers If we have an n-digit unsigned numeral dn-1d n-2...do in radix (or base) r, then the value of that numeral is n−1 r² di Σi=0 which is basically saying that instead of a 10's or 100's place we have an r's or r²'s place. For binary, decimal, and hex r equals 2, 10, and 16, respectively. Just a reminder that in order to write down a large number, we typically use the IEC or SI prefixing system: IEC: Ki = 210, Mi = 220, Gi = 230, Ti = 240, Pi = 250, Ei = 260, Zi = 270, Yi = 280; SI: K=103, M = 106, G = 109, T = 10¹², P = 1015, E = 10¹8, Z = 1021, Y = 1024. 1.1 Conversions a. (15 pts) Write the following using IEC prefixes: 213, 223, 251, 272, 226, 244 21323 Ki8 Ki 223 23 Mi 8 Mi b. (15 pts) Write the following using SI prefixes: 107, 10¹7, 10¹¹, 1022, 1026, 1015 107 10¹ M = 10 M = 1017102 P = 100 P c. (10 pts) Write the following with powers of 10: 7 K, 100 E, 21 G 7 K = 7*10³arrow_forwardanswer shoul avoid using AI and should be basic and please explainarrow_forward
- Node A is connected to node B by a 2000km fiber link having a bandwidth of 100Mbps. What is the total latency time (transmit + propagation) required to transmit a 4000 byte file using packets that include 1000 Bytes of data plus 40 Bytes of header.arrow_forwardanswer should avoid using AI and should be basic and explain pleasearrow_forwardasnwer should avoid using AIarrow_forward
- answer should avoid using AI (such as ChatGPT), do not any answer directly copied from AI would and explain codearrow_forwardWrite a c++ program that will count from 1 to 10 by 1. The default output should be: 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10 There should be only a newline after the last number. Each number except the last should be followed by a comma and a space. To make your program more functional, you should parse command line arguments and change behavior based on their values. Argument Parameter Action -f, --first yes, an integer Change place you start counting -l, --last yes, an integer Change place you end counting -s, --skip optional, an integer, 1 if not specified Change the amount you add to the counter each iteration -h, —help none Print a help message including these instructions. -j, --joke none Tell a number based joke. So, if your program is called counter, counter -f 10 --last 4 --skip 2 should produce 10, 8, 6, 4 Please use the last supplied argument. If your code is called counter, counter -f 4 -f 5 -f 6 should count from 6. You should…arrow_forwardshow workarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education