Big Java, Binder Ready Version: Early Objects
6th Edition
ISBN: 9781119056447
Author: Cay S. Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 21PE
Program Plan Intro
Implementation of hash set
Program plan:
- In a file “HashSet.java”, import necessary packages, and create a class “HashSet”,
- Declare the array of “Node” type.
- Declare the necessary variables.
- Define the constructor to create a hash table.
- Create an array and set the current size to “0”.
- Compute the value for “p”.
- Execute a loop,
- Increment the value of “p”.
- Set the value for “a”, and “b”.
- Define the method “isPrime()” to test whether the value passed is prime or not.,
- Define the method “contains()”,
- Assign the hash code.
- Check whether the value is less than “0”,
- If it is true, compute the absolute value of hash code.
- Update the hash value.
- Assign the bucket value to the current node.
- Execute loop till array becomes null,
- Check the condition,
- Return true.
-
- Assign the current value.
- Check the condition,
- Returns false.
- 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 bucket value at the hash code to the current node.
- Check whether the current node is not null value,
- If it is true, set the collision value to “1”
- Execute a loop,
- Check the condition,
- Returns “0”.
-
- Assign the next value to 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.
- Return collision value.
- 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.
- 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 “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” that implements an interface “Iterator”,
- 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,
- Throws an exception“NoSuchElementException”.
- Assign the value.
- Check the condition at the end of the loop.
- Execute the following statement,
- Return the current node value.
- Check the condition,
- Define the method “remove()”,
- Throw an exception “UnsupportedOperationException”.
- In a file “HashSetFromBook.java”, import necessary packages, and create a class “HashSetFromBook”,
- Declare the array of “Node” type.
- Declare the necessary variables.
- Define the constructor to create a hash table.
- Create an array and set the current size to “0”.
- Define the method “isPrime()” to test whether the value passed is prime or not.,
- 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 bucket value to the current node.
- Execute loop till array becomes null,
- Check the condition,
- Return true.
-
-
- Assign the current value.
-
- Check the condition,
- Returns false.
- Define the method “add()” to add the element to the set,
- Declare and initialize the variable.
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, compute the absolute value of hash code.
- Update the hash code.
- Assign the bucket value at the hash code to the current node.
- Check whether the current node is not null value,
- If it is true, set the collision value to “1”
- Execute a loop,
- Check the condition whether the element is already in the set,
- Returns “0”.
-
-
- Assign the next value to the current node.
-
- Check the condition whether the element is already in the set,
- 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.
- Return collision value.
- 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.
- Return true.
- Otherwise,
- Assign the current node value to the previous node value.
- Assign the next of the current node value to the current node.
-
- If it is true, assign the next node value to the bucket.
- Check the condition,
- Return false.
- 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” that implements an interface “Iterator”,
- 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.
- Execute a loop,
-
- 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,
- Throws an exception “NoSuchElementException”.
- Assign the value.
- Check the condition at the end of the loop.
- 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 packages, and create a class “HashSetTest”,
- Define the “main()” method,
- Declare and initialize the necessary variables.
- Create an object for “HashSet”.
- Create an object for “HashSetFromBook”.
- Execute “try” statement,
- Execute a loop,
- Get the string.
- Update the necessary values.
- Execute a loop,
- Catch if the exception occurs,
- Print the message.
- Print the output.
- Define the “main()” method,
Explanation of Solution
“Yes”, the multiply-add-divide (MAD) method decreases the collisions.
Explanation:
- The hash function is defined as follows,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
I need help creating the network diagram and then revising it for the modified activity times.
Activity No.
Activity
Time (weeks)
Immediate Predecessors
1
Requirements collection
3
2
Requirements structuring
4
1
3
Process analysis
3
2
4
Data analysis
3
2
5
Logical design
50
3,4
6
Physical design
5
5
7
Implementation
6
6
c. Using the information from part b, prepare a network diagram. Identify the critical path.
Given the following Extended-BNF grammar of the basic mathematical expressions:
Show the derivation steps for the expression: ( 2 + 3 ) * 6 – 20 / ( 3 + 1 )
Draw the parsing tree of this expression.
SEE IMAGE
Chapter 16 Solutions
Big Java, Binder Ready Version: Early 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
- Whentheuserenters!!,themostrecentcommandinthehistoryisexecuted.In the example above, if the user entered the command: Osh> !! The ‘ls -l’ command should be executed and echoed on user’s screen. The command should also be placed in the history buffer as the next command. Whentheuserentersasingle!followedbyanintegerN,theNthcommandin the history is executed. In the example above, if the user entered the command: Osh> ! 3 The ‘ps’ command should be executed and echoed on the user’s screen. The command should also be placed in the history buffer as the next command. Error handling: The program should also manage basic error handling. For example, if there are no commands in the history, entering !! should result in a message “No commands in history.” Also, if there is no command corresponding to the number entered with the single !, the program should output "No such command in history."arrow_forwardActivity No. Activity Time (weeks) Immediate Predecessors 1 Requirements collection 3 2 Requirements structuring 4 1 3 Process analysis 3 2 4 Data analysis 3 2 5 Logical design 50 3,4 6 Physical design 5 5 7 Implementation 6 6 c. Using the information from part b, prepare a network diagram. Identify the critical path.arrow_forward2. UNIX Shell and History Feature [20 points] This question consists of designing a C program to serve as a shell interface that accepts user commands and then executes each command in a separate process. A shell interface gives the user a prompt, after which the next command is entered. The example below illustrates the prompt osh> and the user's next command: cat prog.c. The UNIX/Linux cat command displays the contents of the file prog.c on the terminal using the UNIX/Linux cat command and your program needs to do the same. osh> cat prog.c The above can be achieved by running your shell interface as a parent process. Every time a command is entered, you create a child process by using fork(), which then executes the user's command using one of the system calls in the exec() family (as described in Chapter 3). A C program that provides the general operations of a command-line shell can be seen below. #include #include #define MAX LINE 80 /* The maximum length command */ { int…arrow_forward
- Question#2: Design and implement a Java program using Abstract Factory and Singleton design patterns. The program displays date and time in one of the following two formats: Format 1: Date: MM/DD/YYYY Time: HH:MM:SS Format 2: Date: DD-MM-YYYY Time: SS,MM,HH The following is how the program works. In the beginning, the program asks the user what display format that she wants. Then the program continuously asks the user to give one of the following commands, and performs the corresponding task. Note that the program gets the current date and time from the system clock (use the appropriate Java date and time operations for this). 'd' display current date 't': display current time 'q': quit the program. • In the program, there should be 2 product hierarchies: "DateObject” and “TimeObject”. Each hierarchy should have format and format2 described above. • Implement the factories as singletons. • Run your code and attach screenshots of the results. • Draw a UML class diagram for the program.arrow_forward#include <linux/module.h> #include <linux/kernel.h> // part 2 #include <linux/sched.h> // part 2 extra #include <linux/hash.h> #include <linux/gcd.h> #include <asm/param.h> #include <linux/jiffies.h> void print_init_PCB(void) { printk(KERN_INFO "init_task pid:%d\n", init_task.pid); printk(KERN_INFO "init_task state:%lu\n", init_task.state); printk(KERN_INFO "init_task flags:%d\n", init_task.flags); printk(KERN_INFO "init_task runtime priority:%d\n", init_task.rt_priority); printk(KERN_INFO "init_task process policy:%d\n", init_task.policy); printk(KERN_INFO "init_task task group id:%d\n", init_task.tgid); } /* This function is called when the module is loaded. */ int simple_init(void) { printk(KERN_INFO "Loading Module\n"); print_init_PCB(); printk(KERN_INFO "Golden Ration Prime = %lu\n", GOLDEN_RATIO_PRIME); printk(KERN_INFO "HZ = %d\n", HZ); printk(KERN_INFO "enter jiffies = %lu\n", jiffies); return 0; } /* This function is called when the…arrow_forwardList at least five Operating Systems you know. What is the difference between the kernel mode and the user mode for the Linux? What is the system-call? Give an example of API in OS that use the system-call. What is cache? Why the CPU has cache? What is the difference between the Static Linking and Dynamic Linking when compiling the code.arrow_forward
- In the GoF book, List interface is defined as follows: interface List { int count(); //return the current number of elements in the list Object get(int index); //return the object at the index in the list Object first(); //return the first object in the list Object last(); //return the last object in the list boolean include(Object obj); //return true is the object in the list void append(Object obj); //append the object to the end of the list void prepend(Object obj); //insert the object to the front of the list void delete(Object obj); //remove the object from the list void deleteLast(); //remove the last element of the list void deleteFirst(); //remove the first element of the list void deleteAll(); //remove all elements of the list (a) Write a class adapter to adapt Java ArrayList to GoF List interface. (b) Write a main program to test your adapters through List interface. (c) Same requirement as (a) and (b), but write an object adapter to adapt Java ArrayList to GoF List…arrow_forwardIn modern packet-switched networks, including the Internet, the source host segments long, application-layer messages (for example, an image or a music file) into smaller packets and sends the packets into the network. The receiver then reassembles the packets back into the original message. We refer to this process as message segmentation. Figure 1.27 (attached) illustrates the end-to-end transport of a message with and without message segmentation. Consider a message that is 106 bits long that is to be sent from source to destination in Figure 1.27. Suppose each link in the figure is 5 Mbps. Ignore propagation, queuing, and processing delays. a. Consider sending the message from source to destination without message segmentation. How long does it take to move the message from the source host to the first packet switch? Keeping in mind that each switch uses store-and-forward packet switching, what is the total time to move the message from source host to destination host? b. Now…arrow_forwardConsider a packet of length L that begins at end system A and travels over three links to a destination end system. These three links are connected by two packet switches. Let di, si, and Ri denote the length, propagation speed, and the transmission rate of link i, for i = 1, 2, 3. The packet switch delays each packet by dproc. Assuming no queuing delays, in terms of di, si, Ri, (i = 1, 2, 3), and L, what is the total end-to-end delay for the packet? Suppose now the packet is 1,500 bytes, the propagation speed on all three links is 2.5 * 10^8 m/s, the transmission rates of all three links are 2.5 Mbps, the packet switch processing delay is 3 msec, the length of the first link is 5,000 km, the length of the second link is 4,000 km, and the length of the last link is 1,000 km. For these values, what is the end-to-end delay?arrow_forward
- how to know the weight to data and data to weight also weight by infomraion gain in rapid miner , between this flow diagram retrieve then selecte attrbuite then set role and split data and decision tree and apply model and peformance ,please show how the operators should be connected:arrow_forwardusing rapid miner how to creat decison trea for all attribute and another one with delete one or more of them also how i know the weight of each attribute and what that mean in impact the resultarrow_forwardQ.1. Architecture performance [10 marks] Answer A certain microprocessor requires either 2, 4, or 6 machine cycles to perform various operations. ⚫ (40+g+f)% require 2 machine cycles, ⚫ (30-g) % require 4 machine cycles, and ⚫ (30-f)% require 6 machine cycles. (a) What is the average number of machine cycles per instruction for this microprocessor? Answer (b) What is the clock rate (machine cycles per second) required for this microprocessor to be a "1000 MIPS" processor? Answer (c) Suppose that 35% of the instructions require retrieving an operand from memory which needs an extra 8 machine cycles. What is the average number of machine cycles per instruction, including the instructions that fetch operands from memory?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