Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
11th Edition
ISBN: 9780134670942
Author: Y. Daniel Liang
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 28, Problem 28.19PE
Program Plan Intro
Display a DFS/BFS tree in a graph
Program Plan:
Exercise.java:
- Import the required packages.
- Create a class “Exercise”:
- Create a text field.
- Create the required buttons.
- Create the label.
- City values vertices gets assigned.
- City value edges get assigned.
- New graph gets created.
- New view gets defined
- Define the start method:
- Create a new border pane.
- New hbox gets created.
- Add the buttons into the pane.
- Set the alignment of the pane.
- New scene gets created
- Set the title of the scene.
- Scene gets placed on the stage.
- The stage gets displayed.
- Action event for the button defined is set.
- Based on the action defined a new tree is defined.
- Define the main method
- Initialize the calls.
- Class “GraphView” gets defined
- Assign the graph.
- Assign the tree
- Define the method “GraphView”
- Assign the graph.
- Define the method “setTree”
- Assign the tree
- Define the method “repaint()”
- Clear the pane.
- Loop that iterates to draw the vertices
- Get the position of x and y coordinates.
- Condition to validate the edge gets defined.
- Loop that iterates to draw the line.
- Define the method “drawArrowLine”
- New lines get created.
- Add the line color.
- Calculate the angle.
- Set the angle.
- Condition to validate the arrow point gets defined.
- Draw the arrow at the required positions.
- Define the class “city”
- Declare the required variables.
- Assign the x and y value.
- Get the name.
- Validate the city name that is entered.
UnweightedGraph.java:
- Import the required packages.
- Create a class “UnweightedGraph”:
- New list for the vertices gets created.
- New list for the neighbor node gets created.
- Create an empty constructor.
- Method to create new graph gets created and adjacency list gets created.
- Method to create an adjacency list gets created.
- Method to return the size of the vertices.
- Method to return the index of the vertices gets defined.
- Method to gets the neighbor node gets defined.
- Method to return the degree of the vertices gets created.
- Method to print the Edges gets created.
- New to clear the graph gets created.
- Method to add vertex gets created.
- Method to add edge gets created.
- Method to perform the depth first search gets defined.
- Method to perform breadth first search gets defined.
- Search tree gets returned.
- Create a class “SearchTree”
- Define the method to return the root.
- Method to return the parent of the vertices
- Method to return the search order gets defined.
- Method to return the number of vertices found gets defined.
- Method to get the path of the vertices gets defined.
- Loop to validate the path gets defined.
- Path gets returned.
- Method to print the path gets defined.
- Method to print the tree gets defined.
- Display the edge.
- Display the root.
- Condition to validate the parent node to display the vertices gets created.
Graph.java:
- A graph interface gets created.
- Method to return the size gets defined.
- Method to return the vertices gets defined.
- Method to return the index gets created.
- Method to get the neighbor node gets created.
- Method to get the degree gets created.
- Method to print the edges.
- Method to clear the node gets created.
- Method to add the edges, add vertex gets created.
- Method to remove the vertices gets defined.
- Method for the depth first search gets defined.
- Method for the breadth first search gets defined.
Displayable.java
- Define the interface.
- Get the x value
- Get the y value.
- Get the name.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
please complete the following in JAVA
Implement the graph ADT using the adjacency list structure.
thanks! also posting a similar question for adjacency matrix. have a good day!
Rewrite Example 10.5 (Passing on Stack) using full descending stacks.
C++, Write a recursion function that counts the positive elements multiple of 5 in a binary search tree and counts the elements less than 0 and multiple of 2, then returns the two counts multiplied to the main.Note that you have to write only one function and you can add parameters to the function as needed
Chapter 28 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 28.2 - What is the famous Seven Bridges of Knigsberg...Ch. 28.2 - Prob. 28.2.2CPCh. 28.2 - Prob. 28.2.3CPCh. 28.2 - Prob. 28.2.4CPCh. 28.3 - Prob. 28.3.1CPCh. 28.3 - Prob. 28.3.2CPCh. 28.4 - Prob. 28.4.1CPCh. 28.4 - Prob. 28.4.2CPCh. 28.4 - Show the output of the following code: public...Ch. 28.4 - Prob. 28.4.4CP
Ch. 28.5 - Prob. 28.5.2CPCh. 28.6 - Prob. 28.6.1CPCh. 28.6 - Prob. 28.6.2CPCh. 28.7 - Prob. 28.7.1CPCh. 28.7 - Prob. 28.7.2CPCh. 28.7 - Prob. 28.7.3CPCh. 28.7 - Prob. 28.7.4CPCh. 28.7 - Prob. 28.7.5CPCh. 28.8 - Prob. 28.8.1CPCh. 28.8 - When you click the mouse inside a circle, does the...Ch. 28.8 - Prob. 28.8.3CPCh. 28.9 - Prob. 28.9.1CPCh. 28.9 - Prob. 28.9.2CPCh. 28.9 - Prob. 28.9.3CPCh. 28.9 - Prob. 28.9.4CPCh. 28.10 - Prob. 28.10.1CPCh. 28.10 - Prob. 28.10.2CPCh. 28.10 - Prob. 28.10.3CPCh. 28.10 - If lines 26 and 27 are swapped in Listing 28.13,...Ch. 28 - Prob. 28.1PECh. 28 - (Create a file for a graph) Modify Listing 28.2,...Ch. 28 - Prob. 28.3PECh. 28 - Prob. 28.4PECh. 28 - (Detect cycles) Define a new class named...Ch. 28 - Prob. 28.7PECh. 28 - Prob. 28.8PECh. 28 - Prob. 28.9PECh. 28 - Prob. 28.10PECh. 28 - (Revise Listing 28.14, NineTail.java) The program...Ch. 28 - (Variation of the nine tails problem) In the nine...Ch. 28 - (4 4 16 tails problem) Listing 28.14,...Ch. 28 - (4 4 16 tails analysis) The nine tails problem in...Ch. 28 - (4 4 16 tails GUI) Rewrite Programming Exercise...Ch. 28 - Prob. 28.16PECh. 28 - Prob. 28.17PECh. 28 - Prob. 28.19PECh. 28 - (Display a graph) Write a program that reads a...Ch. 28 - Prob. 28.21PECh. 28 - Prob. 28.22PECh. 28 - (Connected rectangles) Listing 28.10,...Ch. 28 - Prob. 28.24PECh. 28 - (Implement remove(V v)) Modify Listing 28.4,...Ch. 28 - (Implement remove(int u, int v)) Modify Listing...
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- What is the difference between a singly-linked list and a doubly-linked list? In what situation would you use a singly-linked list over a doubly-linked list? In what situation would you use a doubly-linked list over a singly-linked list?arrow_forwardExplain the difference between the bound stack and the unbounded stack in more detail, please.arrow_forwardPlease elaborate on the distinction between the bound and unbounded stack.arrow_forward
- Convert the following expression from infix to postfix and show the contents of Stack and the output expression at each step ((A-((B+C)*D/E))/(F*G+H))arrow_forward- Write a Java code that finds if two given nodes in a general tree are siblings or not for the list of children implementation, linked implementation left-child/right-sibling. - Write a Java code that remove next sibling in a general tree for the linked implementation using array of child pointers, array implementation left-child/right-sibling.arrow_forwardCould you please clarify the difference between the limited version of the stack and the unbounded version of the stack?arrow_forward
- BST - Binary Search Tree - implement a BSTNode ADT with a data attribute and two pointer attributes, one for the left child and the other for the right child. Implement the usual getters/setters for these attributes -implement a BST as a link-based ADT whose data will be Dollar objects - the data will be inserted based on the actual money value of your Dollar objects as a combination of the whole value and fractional value attributes. - BST, implement the four traversal methods as well as methods for the usual search, insert, delete, print, count, isEmpty, empty operations and any other needed. - BST - Binary Search Tree - implement a BSTNode ADT with a data attribute and two-pointer attributes, one for the left child and the other for the right child. Implement the usual getters/setters for these attributes -implement a BST as a link-based ADT whose data will be Dollar objects - the data will be inserted based on the actual money value of your Dollar objects as a combination of the…arrow_forwardShort answer: Answer the following in your own words: 1) Your friend says they implemented a stack as a linked list with reference pointers to both a head and the tail node (i.e. they implemented a stack as a double endedlinked list). They said this significantly improved the performance for all functions (push, pop, search, and update). Are they correct? Why or why not?arrow_forwardCould you please explain how the Stack and the Heap are used? With details on the stack pointer, the frame pointer, and anything else pertinent to the topic?arrow_forward
- Simple stack implementation please help (looks like a lot but actually isnt, everything is already set up for you below to make it even easier) help in any part you can, please be clear, thank you Given an interface for Stack- Without using the java collections interface (ie do not import java.util.List,LinkedList, Stack, Queue...)- Create an implementation of Stack interface provided- For the implementation create a tester to verify the implementation of thatdata structure performs as expected Get on the bus – Stack (lifo)- Implement the provided Stack interface ( fill out the implementation shell)- Put your implementation through its paces by exercising each of the methods ina test harness- Add to your ‘BusClient’ the following functionality using your Stack-o Create (push) 6 riders by name§ Iterate over the stack, print all riderso Peek at the stack / print the resulto Remove (pop) the top of the stack§ Iterate over the stack, print all riderso Peek at the stack / print the resulto…arrow_forwardSKELETON CODE IS PROVIDED ALONG WITH C AND H FILES. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include "node.h" #include "stack_functions.h" #define NUM_VERTICES 10 /** This function takes a pointer to the adjacency matrix of a Graph and the size of this matrix as arguments and prints the matrix */ void print_graph(int * graph, int size); /** This function takes a pointer to the adjacency matrix of a Graph, the size of this matrix, the source and dest node numbers along with the weight or cost of the edge and fills the adjacency matrix accordingly. */ void add_edge(int * graph, int size, int src, int dst, int cost); /** This function takes a pointer to the adjacency matrix of a graph, the size of this matrix, source and destination vertex numbers as inputs and prints out the path from the source vertex to the destination vertex. It also prints the total cost of this…arrow_forwardAnswer (iii) with detailed and concise explanations. Give the content of the stack after each of the following operations takes place.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 Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning