
Data Structures and Algorithms in Java
6th Edition
ISBN: 9781118771334
Author: Michael T. Goodrich
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 3, Problem 33C
Program Plan Intro
Initial consideration:
While the circularly liked list implementation has to be provided using inheritance in such a way that a DoublyLinkedList class inherits from the existing CircularlyLinkedList, and the DoublyLinkedList.Node nested class inherits from CircularlyLinkedList.Node.
The following consideration has to be made before implementation:
- A circular version of a doubly linked list has to be implemented that is not having any sentinels that can generally supports the public behaviors of the original and new update methods.
- The implemented circular doubly linked list should have method called rotate() which is used to rotate the linked list counter clockwise and rotateBackward() method that can support the public behaviors of the linked list.
- There is no need to use the sentinel nodes which are more generally useful with linked list implementation that helps to maintain the reference of all nodes of a doubly linked list.
- The node in the circular version of doubly linked list maintains two references with the previous and the next node in the doubly linked list.
Doubly-linked list:
- Doubly-linked list is a kind of data structure in which every node in the list has two link pointers where one link is pointing to previous node and the link will point to the next node in the list.
- The first node in the linked list generally points to a Null pointer and the next link of the last node in the linked list is pointing to the Null.
CircularlyLinkedList:
- Circular Linked List is also a kind of data structure where all the nodes in the list are in the formed of a circular fashion.
- The circular pattern can be a singly or doubly linked list. Unlike doubly linked list there is no Null pointer in the circular linked list. The nodes are added and removed based on the constant time factor.
- The main advantage of circular linked list is the ability to traverse the nodes of the linked list.
Inheritance:
- In object-oriented programming (OOP) inheritance is a procedure to create new class from an existing class which is known as base class or super class and the inherited class is known as derived class or sub class and the new class will inherits all the properties of the existing parent class.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
the database for a professional hockey league in Canada that contains
the following relations:
teams(name, id, budget, home_venue_id)
players(name, position, id, salary, team_id)
⚫ venues(name, city, capacity, id)
games(home_team_id, away_team_id, venue_id, winner_id, date, start-time, id, overtime)
tickets(game_id, seat number, price)
Create an Entity-Relationship (E-R) model for the hockey league. Draw your model.
Your diagram should follow the conventions discussed in lecture. In the diagram, identify all
primary keys and mapping cardinalities.
Note: You may use software such as draw.io, PowerPoint, etc. to draw your diagram or you
may draw it by hand and take a clear photo or scan to insert into your submission.
Reading Chapters 10 of Ralph Stair's
"Fundamentals of Information Systems"
9th Edition:
Discussion questions: 3. Do you feel
that the measures in place to protect
your personal data you provide to health
care organizations are sufficient? Why
or why not?
Watch "Different Programming Languages" video.
Discussion question: What did you learned from
the programming languages videos?
Chapter 3 Solutions
Data Structures and Algorithms in Java
Ch. 3 - Prob. 1RCh. 3 - Write a Java method that repeatedly selects and...Ch. 3 - Prob. 3RCh. 3 - The TicTacToe class of Code Fragments 3.9 and 3.10...Ch. 3 - Prob. 5RCh. 3 - Prob. 6RCh. 3 - Prob. 7RCh. 3 - Prob. 8RCh. 3 - Prob. 9RCh. 3 - Prob. 10R
Ch. 3 - Prob. 11RCh. 3 - Prob. 12RCh. 3 - Prob. 13RCh. 3 - Prob. 14RCh. 3 - Prob. 15RCh. 3 - Prob. 16RCh. 3 - Prob. 17CCh. 3 - Prob. 18CCh. 3 - Prob. 19CCh. 3 - Give examples of values for a and b in the...Ch. 3 - Suppose you are given an array, A, containing 100...Ch. 3 - Write a method, shuffle(A), that rearranges the...Ch. 3 - Suppose you are designing a multiplayer game that...Ch. 3 - Write a Java method that takes two...Ch. 3 - Prob. 25CCh. 3 - Prob. 26CCh. 3 - Prob. 27CCh. 3 - Prob. 28CCh. 3 - Prob. 29CCh. 3 - Prob. 30CCh. 3 - Prob. 31CCh. 3 - Prob. 32CCh. 3 - Prob. 33CCh. 3 - Prob. 34CCh. 3 - Prob. 35CCh. 3 - Write a Java program for a matrix class that can...Ch. 3 - Write a class that maintains the top ten scores...Ch. 3 - Prob. 38PCh. 3 - Write a program that can perform the Caesar cipher...Ch. 3 - Prob. 40PCh. 3 - Prob. 41PCh. 3 - Prob. 42PCh. 3 - Prob. 43P
Knowledge Booster
Similar questions
- Reading Chapters 9 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Chapter 9: Problem-solving: 1. Identify three commonly used antivirus software packages. Develop a spreadsheet that compares the cost and fundamental features of each package. Which antivirus solution would you choose and why? Upload an Excel Report with a title, data, and show off what you have learned.arrow_forwardComputer Science A Caesar cipher is one of the simplest forms of encryption. It is a substitution cipher where each letter in the plaintext is shifted a certain number of places down the alphabet. For example, with a right shift of 3, 'A' would be replaced by 'D', 'B' would become 'E', and so on. The alphabet "wraps around," so with a shift of 3, 'X' would become 'A'. Your task is to implement this logic. 1. Develop a set of functions to encrypt a string using a Caesar cipher. 2. Develop a set of functions to decrypt a string using a Caesar cipher. 3. Develop a set of functions to help solve (break) a Caesar cipher by showing all possible shifts.4. Implement all of the above functions for TWO of the following languages: Encrypt, Decrypt, Solve in COBOL Encrypt, Decrypt, Solve in Fortran Encrypt, Decrypt, Solve in Pascal Examples of Usage The usage for encrypt and decrypt should be as follows: encrypt(str, shiftAmount) decrypt(str, shiftAmount) Pascal code fragment: var x: string;…arrow_forwardNo AI USE PLEASE. You are using a web browser to load a webpage. Let’s assume the size of the webpage is negligible. The access link rate of the webserver is 1 Gigabits per second. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, . . . , RTTn. Let RTT0 denote the RTT between the local host and the webserver containing the webpage. Now answer the following: 1) Ignore all types of delays at the client and the servers. How much time elapses from when the client clicks on the link of the webpage until the client receives the content of the webpage? 2) Now suppose, the HTML file references 10 additional objects (15 MB each) on the same server. Considering only the transmission delay at the webserver for each of these objects and ignoring all other delays at the host and the servers,…arrow_forward
- In a client-server file distribution paradigm, let’s assume the server has an upload rate of 25 Mbps. Each client’s download rate is 3 Mbps. Now consider multiple scenarios where the number of clients is 50, 200, and 1000. For each of these scenarios, consider 2 possible upload rates of each client: 200 Kbps, and 1Mbps. For these 6 combinations of the number of clients and the client-upload rate, what are the minimum distribution times for a file of size 30 Gigabit? Now, if the same file needs to be distributed in a P2P paradigm, what will be the 6 minimum distribution times? Show all calculations and provide detailed explanations. No AI use Pleasearrow_forwardFirst study the attached code for a simple internet ping server (UDP_Ping_Server.py). You will have to implement a corresponding client in python. The functionality provided by these programs will be similar to the functionality provided by standard ping programs available in modern operating systems. However, these programs will use a simpler protocol, UDP, rather than the standard Internet Control 1Message Protocol (ICMP) to communicate with each other. The ping protocol allows a client machine to send a packet of data to a remote machine, and have the remote machine return the data back to the client unchanged (an action referred to as echoing). Among other uses, the ping protocol allows hosts to determine round-trip times to other machines. Do not modify the attached server code. In this server code, 30% of the client’s packets are simulated to be lost. The server sits in an infinite loop listening for incoming UDP packets. When a packet comes in and if a randomized integer is…arrow_forward1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 199282222 20 # We will need the following module to generate randomized lost packets import random from socket import * # Create a UDP socket # Notice the use of SOCK_DGRAM for UDP packets serverSocket = socket (AF_INET, SOCK_DGRAM) # Assign IP address and port number to socket serverSocket.bind(('', 12000)) while True: # Generate random number in the range of 0 to 10 rand = random.randint(0, 10) # Receive the client packet along with the address it is coming from message, address = serverSocket.recvfrom (1024) # Capitalize the message from the client message = message.upper() # If rand is less is than 4, we consider the packet lost and do not respond if rand < 4: continue # Otherwise, the server responds serverSocket.sendto (message, address)arrow_forward
- Reading Chapters 7-8 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Chapter 7: Discussion questions: 4. How could you use a community of practice (COP) to help you in your work or studies? How would you go about identifying who to invite to join the CoP? Chapter 8: Discussion questions: 2. Thoroughly discuss the pros and cons of buying versus building software.arrow_forwardYou are using a web browser to load a webpage. Let's assume the size of the webpage is negligible. The access link rate of the webserver is 1 Gigabits per second. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, ..., RTTn. Let RTTo denote the RTT between the local host and the webserver containing the webpage. Now answer the following: 1) Ignore all types of delays at the client and the servers. How much time elapses from when the client clicks on the link of the webpage until the client receives the content of the webpage? 2) Now suppose, the HTML file references 10 additional objects (15 MB each) on the same server. Considering only the transmission delay at the webserver for each of these objects and ignoring all other delays at the host and the servers, recalculate the…arrow_forwardIn a client-server file distribution paradigm, let's assume the server has an upload rate of 25 Mbps. Each client's download rate is 3 Mbps. Now consider multiple scenarios where the number of clients is 50, 200, and 1000. For each of these scenarios, consider 2 possible upload rates of each client: 200 Kbps, and 1Mbps. For these 6 combinations of the number of clients and the client-upload rate, what are the minimum distribution times for a file of size 30 Gigabit? Now, if the same file needs to be distributed in a P2P paradigm, what will be the 6 minimum distribution times?arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr

C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning

EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT

Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage

C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr