Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 18PE
Program Plan Intro
Implementation of hash set
Program plan:
- In a file “HashSet.java”, import necessary package, and create a class “HashSet”,
- Declare the array of “Node” type.
- Declare the necessary variable.
- Define the method “getBucketsSize()” to get the length of the bucket.
- Define the constructor to create a hash table.
- Create an array and set the current size to “0”.
- Define the method “contains()”,
- Assign the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash value.
- Assign the current node value.
- Execute loop till array becomes null,
- Check the condition,
- Return true.
-
- Assign the current value.
- Check the condition,
- Define the method “add()” to add the element to the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Execute a loop,
- Check the condition,
- Return false.
-
- Assign the next value to the value in the current node.
- Check the condition,
- Create a new node.
- Assign the value to new node value.
- Assign the value to the next node.
- Assign the new node value to the bucket.
- Increment the size.
- Compute the load factor.
- Check whether the load factor is greater than “1.0”,
- If it is true, call the method “growBuffer()”.
- Return true.
- Define the method “remove()” to remove the object from the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Set null to the previous node.
- Execute a loop,
- Check the condition,
- Check whether the previous node contains null value,
-
- If it is true, assign the next node value to the bucket.
- Otherwise,
-
- Assign the next of the current node value to the next of the previous node value.
- Decrement the size.
- Compute the load factor.
- Check whether the load factor is less than “0.5”,
-
- If it is true, call the method “shrinkBuffer()”.
- Return true.
-
-
- Assign the current node value to the previous node value.
- Assign the next of the current node value to the current node.
-
- Check the condition,
- Return false.
- Define the method “growBuffer()”,
- Create an array and get the current data.
- Initialize the value.
- Create an iterator.
- Execute a loop,
- Assign the next element.
- Increment the size.
- Initialize the current size to “0”.
- Add the data into the new array.
- Create a loop,
- Call the method “add()”.
- Define the method “shrinkBuffer()”,
- Create an array and get the current data.
- Initialize the value.
- Create an iterator.
- Execute a loop,
- Assign the next element.
- Increment the size.
- Initialize the current size to “0”.
- Add the data into the new array of half size.
- Create a loop,
- Call the method “add()”.
- Define the method “iterator ()” to return an iterator that traverse the set elements,
- Return the object of “HashSetIterator()”.
- Define the method “size ()” to return the size of the set.
- Create a class “Node”,
- Declare the object for “Object”.
- Declare the object of “Node”.
- Create a class “HashSetIterator”,
- Declare the necessary variables.
- Define the constructor to create a hash set that point to the first element of the hash set.
- Define the method “hasNext()”,
- Check whether the current node and the next of the current node is not null,
- If it is true, returns true.
- Execute a loop,
- Check whether the bucket contains not null value,
- If it is true, returns true.
- Check whether the bucket contains not null value,
- Returns false.
- Check whether the current node and the next of the current node is not null,
- Define the method “next()”,
- Check the condition,
- Assign the next node value to the current node value.
- Otherwise,
- Execute the following statement,
- Increment the index.
- Check the condition,
- Throw an exception “NoSuchElementException”.
- Assign the value.
- Check the condition.
- Execute the following statement,
- Return the current node value.
- Check the condition,
- Define the method “remove()”,
- Throw an exception “UnsupportedOperationException”.
- In a file “HashSetTest.java”, import necessary package, and create a class “HashSetTest”,
- Define the “main()” method,
- Create an object fro “HashSet”.
- Add the element “David” to the set.
- Add the element “Jerry” to the set.
- Add the element “Cassendra” to the set.
- Add the element “Jim” to the set.
- Add the element “Jack” to the set.
- Print the actual and expected output.
- Add the element “Nick” to the set.
- Print the actual and expected output.
- Add the element “Johny” to the set.
- Add the element “Andrew” to the set.
- Add the element “Francis” to the set.
- Add the element “Jackson” to the set.
- Print the actual and expected output.
- Add the element “Jimmy” to the set.
- Print the actual and expected output.
- Remove the element “Jackson” from the set.
- Print the actual and expected output.
- Remove the element “Jerry” from the set.
- Print the actual and expected output.
- Remove the element “Johny” from the set.
- Remove the element “Jimmy” from the set.
- Remove the element “Francis” from the set.
- Remove the element “Nick” from the set.
- Print the actual and expected output.
- Remove the element “David” from the set.
- Print the actual and expected output.
- Define the “main()” method,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
1. Complete the routing table for R2 as per the table shown below when implementing RIP routing
Protocol?
(14 marks)
195.2.4.0
130.10.0.0
195.2.4.1
m1
130.10.0.2
mo R2
R3
130.10.0.1
195.2.5.1
195.2.5.0
195.2.5.2
195.2.6.1
195.2.6.0
m2
130.11.0.0
130.11.0.2
205.5.5.0
205.5.5.1
R4
130.11.0.1
205.5.6.1
205.5.6.0
Analyze the charts and introduce each charts by describing each. Identify the patterns in the given data. And determine how are the data points are related.
Refer to the raw data (table):
3A) Generate a hash table for the following values: 11, 9, 6, 28, 19, 46, 34, 14. Assume the table size is
9 and the primary hash function is h(k) = k % 9.
i) Hash table using quadratic probing
ii) Hash table with a secondary hash function of h2(k) = 7- (k%7)
3B) Demonstrate with a suitable example, any three possible ways to remove the keys and yet
maintaining the properties of a B-Tree.
3C) Differentiate between Greedy and Dynamic Programming.
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
- What are the charts (with their title name) that could be use to illustrate the data? Please give picture examples.arrow_forwardA design for a synchronous divide-by-six Gray counter isrequired which meets the following specification.The system has 2 inputs, PAUSE and SKIP:• While PAUSE and SKIP are not asserted (logic 0), thecounter continually loops through the Gray coded binarysequence {0002, 0012, 0112, 0102, 1102, 1112}.• If PAUSE is asserted (logic 1) when the counter is onnumber 0102, it stays here until it becomes unasserted (atwhich point it continues counting as before).• While SKIP is asserted (logic 1), the counter misses outodd numbers, i.e. it loops through the sequence {0002,0112, 1102}.The system has 4 outputs, BIT3, BIT2, BIT1, and WAITING:• BIT3, BIT2, and BIT1 are unconditional outputsrepresenting the current number, where BIT3 is the mostsignificant-bit and BIT1 is the least-significant-bit.• An active-high conditional output WAITING should beasserted (logic 1) whenever the counter is paused at 0102.(a) Draw an ASM chart for a synchronous system to providethe functionality described above.(b)…arrow_forwardS A B D FL I C J E G H T K L Figure 1: Search tree 1. Uninformed search algorithms (6 points) Based on the search tree in Figure 1, provide the trace to find a path from the start node S to a goal node T for the following three uninformed search algorithms. When a node has multiple successors, use the left-to-right convention. a. Depth first search (2 points) b. Breadth first search (2 points) c. Iterative deepening search (2 points)arrow_forward
- We want to get an idea of how many tickets we have and what our issues are. Print the ticket ID number, ticket description, ticket priority, ticket status, and, if the information is available, employee first name assigned to it for our records. Include all tickets regardless of whether they have been assigned to an employee or not. Sort it alphabetically by ticket status, and then numerically by ticket ID, with the lower ticket IDs on top.arrow_forwardFigure 1 shows an ASM chart representing the operation of a controller. Stateassignments for each state are indicated in square brackets for [Q1, Q0].Using the ASM design technique:(a) Produce a State Transition Table from the ASM Chart in Figure 1.(b) Extract minimised Boolean expressions from your state transition tablefor Q1, Q0, DISPATCH and REJECT. Show all your working.(c) Implement your design using AND/OR/NOT logic gates and risingedgetriggered D-type Flip Flops. Your answer should include a circuitschematic.arrow_forwardA controller is required for a home security alarm, providing the followingfunctionality. The alarm does nothing while it is disarmed (‘switched off’). It canbe armed (‘switched on’) by entering a PIN on the keypad. Whenever thealarm is armed, it can be disarmed by entering the PIN on the keypad.If motion is detected while the alarm is armed, the siren should sound AND asingle SMS message sent to the police to notify them. Further motion shouldnot result in more messages being sent. If the siren is sounding, it can only bedisarmed by entering the PIN on the keypad. Once the alarm is disarmed, asingle SMS should be sent to the police to notify them.Two (active-high) input signals are provided to the controller:MOTION: Asserted while motion is detected inside the home.PIN: Asserted for a single clock cycle whenever the PIN has beencorrectly entered on the keypad.The controller must provide two (active-high) outputs:SIREN: The siren sounds while this output is asserted.POLICE: One SMS…arrow_forward
- 4G+ Vo) % 1.1. LTE1 : Q B NIS شوز طبي ۱:۱۷ کا A X حاز هذا على إعجاب Mohamed Bashar. MEDICAL SHOE شوز طبي ممول . اقوى عرض بالعراق بلاش سعر القطعة ١٥ الف سعر القطعتين ٢٥ الف سعر 3 قطع ٣٥ الف القياسات : 40-41-42-43-44- افحص وكدر ثم ادفع خدمة التوصيل 5 الف لكافة محافظات العراق ופרסם BNI SH ופרסם DON JU WORLD DON JU MORISO DON JU إرسال رسالة III Messenger التواصل مع شوز طبي تعليق باسم اواب حمیدarrow_forwardA manipulator is identified by the following table of parameters and variables:a. Obtain the transformation matrices between adjacent coordinate frames and calculate the global transformation matrix.arrow_forwardWhich tool takes the 2 provided input datasets and produces the following output dataset? Input 1: Record First Last Output: 1 Enzo Cordova Record 2 Maggie Freelund Input 2: Record Frist Last MI ? First 1 Enzo Last MI Cordova [Null] 2 Maggie Freelund [Null] 3 Jason Wayans T. 4 Ruby Landry [Null] 1 Jason Wayans T. 5 Devonn Unger [Null] 2 Ruby Landry [Null] 6 Bradley Freelund [Null] 3 Devonn Unger [Null] 4 Bradley Freelund [Null] OA. Append Fields O B. Union OC. Join OD. Find Replace Clear selectionarrow_forward
- What are the similarities and differences between massively parallel processing systems and grid computing. with referencesarrow_forwardModular Program Structure. Analysis of Structured Programming Examples. Ways to Reduce Coupling. Based on the given problem, create an algorithm and a block diagram, and write the program code: Function: y=xsinx Interval: [0,π] Requirements: Create a graph of the function. Show the coordinates (x and y). Choose your own scale and show it in the block diagram. Create a block diagram based on the algorithm. Write the program code in Python. Requirements: Each step in the block diagram must be clearly shown. The graph of the function must be drawn and saved (in PNG format). Write the code in a modular way (functions and the main part should be separate). Please explain and describe the results in detail.arrow_forwardBased on the given problem, create an algorithm and a block diagram, and write the program code: Function: y=xsinx Interval: [0,π] Requirements: Create a graph of the function. Show the coordinates (x and y). Choose your own scale and show it in the block diagram. Create a block diagram based on the algorithm. Write the program code in Python. Requirements: Each step in the block diagram must be clearly shown. The graph of the function must be drawn and saved (in PNG format). Write the code in a modular way (functions and the main part should be separate). Please explain and describe the results in detail.arrow_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