
Write a program named ProblemA.cpp that implements the following
functions using recursion. Make a menu-based implementation so that you can call each function based
on the user input.
• insert: insert a new node in the BST
Node* insert (Node* root, int key);
• print: prints the values of all items in the tree, using inorder traversal technique
void inorder (Node* root);
• search: search a node with a value in the BST
Node* insert (Node* root, int key);
• findMinimum: returns the element with the minimum value in the BST
Node* findMinimum (Node* root);
• findMaximum: returns the element with the maximum value in the BST
Node* findMaximum (Node* root);
• delete: delete a node from the BST
Node* delete (Node* root, int key);

Step by stepSolved in 3 steps with 1 images

- 7 4 2 4 2 Tree #1 1 5 Tree #2 6 3 6 8 8 9 5 7 9 1 For parts a through g, implement the given method and demonstrate the method working with the two trees provided earlier. All code implemented in this assignment should be in a class called Homework 6. You may use the data structures and algorithm code from the lecture notes. Hint: Consider using recursion. To do so implement a private helper method that takes a Node and then recursively calls itself to traverse the tree. The public method would call the private method passing the tree's root as the Node.arrow_forwardPlease explain each line and its purpose (In Java)arrow_forwardusing java code Problem: Suppose we want to write a program for the class BinaryTree that counts the number of times an object occurs in the tree. We need to use a method with the following header, public int count (O anObject) 1. Name your class objectCounter 2. Define main method, test the program 3. Write a method using one of the iterators of the binary tree. 4. Write another method using a private recursive method of the same name NB: Can you add main method to test the code please for 2. Define main method, test the programarrow_forward
- P1 Suppose we want to create a method for the class BinaryTree (file BinaryTree.java) thatcounts the number of times an object occurs in the tree.a. Write the methodpublic int count1(T anObject)which calls the private recursive methodprivate int count1(BinaryNode<T> rootNode, T anObject)to count the number of occurrences of anObjectb. Write the methodpublic int count2(T anObject)that counts the number of occurrences of anObject and that uses one of the iterators of thebinary tree.Compare the efficiencies of the previous the two methods count1 and count2 using big Onotation. Add your answer as a comment before the function definition P2 Suppose we want to create a method for the class BinaryTree that decides whether two treeshave the same structure. Two trees t1 and t2 have the same structure if:- If one has a left child, then both have left children and the left children are isomorphic,AND - if one has a right child, then both have right children and the right children…arrow_forwardWrite a java program class for a singly linked list with Insertion from head, tail and middlearrow_forwardplease answer with proper explanation and step by step solution.arrow_forward
- The Task This assignment requires you to write a non-verbose input-driven java program for m aint aining a binary search tree (BST) of integer elements (negative, zero or positive). The speciality of your BST will be that it will record the frequency of occurrence for each integer element in it. Actions provisioned on the BST. When your program is running, a user should be able to select one of the following actions to be performed on the BST. 1. Insert an element into the BST 2. Sear ch for an element in the BST 3. Find the maximum element from the BST 4. Find the minimum element from the BST 5. Print the elements in the BST in preorder 6. Print the elements in the BST in postorder 7. Print the elements in the BST in inorder 8. Delete an element Anything else to exit the program When the progr am is executed, the user will provide their choice of action on the BST, by entering one of the numbers between 1 to 8 that corre spond to their choice. For example, if the user wishes to insert…arrow_forwardIn C++, – Implement a Priority queue using a SORTED list. Use Quick sort after adding a new node. Create a class called Node: Have a Name and Priority.Data set - 1 is the highest priority, 10 is lowest priority.Enqueue and dequeue in the following order.Function Name, PriorityEnqueue Joe, 3Enqueue Fred, 1Enqueue Tuyet, 9Enqueue Jose, 6DequeueEnqueue Jing, 2Enqueue Xi, 5Enqueue Moe, 3DequeueEnqueue Miko, 7Enqueue Vlady, 8Enqueue Frank, 9Enqueue Anny, 3DequeueEnqueue Xi, 2Enqueue Wali, 2Enqueue Laschec, 6Enqueue Xerrax, 8DequeueDequeueDequeueDequeueDequeueDequeueDequeueDequeueDequeueDequeueDequeuearrow_forwardPlease help with the program below. Need to write a program called dfs-stack.py in python that uses the algorithm below without an agency list but instead uses an adjacency matrix. The program should prompt the user for the number of vertices V, in the graph.Please read the directions below I will post a picture of the instructions and the algorithm.arrow_forward
- Implement a Single linked list to store a set of Integer numbers (no duplicate) • Instance variable• Constructor• Accessor and Update methods 2.) Define SLinkedList Classa. Instance Variables: # Node head # Node tail # int sizeb. Constructorc. Methods # int getSize() //Return the number of nodes of the list. # boolean isEmpty() //Return true if the list is empty, and false otherwise. # int getFirst() //Return the value of the first node of the list. # int getLast()/ /Return the value of the Last node of the list. # Node getHead()/ /Return the head # setHead(Node h)//Set the head # Node getTail()/ /Return the tail # setTail(Node t)//Set the tail # addFirst(E e) //add a new element to the front of the list # addLast(E e) // add new element to the end of the list # E removeFirst()//Return the value of the first node of the list # display()/ /print out values of all the nodes of the list # Node search(E key)//check if a given…arrow_forwardWrite a method isBST() that takes a Node as argument and returns true if the argument node is the root of a binary search tree, false otherwise.Hint : This task is also more difficult than it might seem, because the order in which youcall the methods in the previous three exercises is important.Write a method isBST() that takes a Node as argument and returns true if the argument node is the root of a binary search tree, false otherwise.Hint : This task is also more difficult than it might seem, because the order in which youcall the methods in the previous three exercises is important.arrow_forwardIn python. Write a LinkedList class that has recursive implementations of the add and remove methods. It should also have recursive implementations of the contains, insert, and reverse methods. The reverse method should not change the data value each node holds - it must rearrange the order of the nodes in the linked list (by changing the next value each node holds). It should have a recursive method named to_plain_list that takes no parameters (unless they have default arguments) and returns a regular Python list that has the same values (from the data attribute of the Node objects), in the same order, as the current state of the linked list. The head data member of the LinkedList class must be private and have a get method defined (named get_head). It should return the first Node in the list (not the value inside it). As in the iterative LinkedList in the exploration, the data members of the Node class don't have to be private. The reason for that is because Node is a trivial class…arrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





