Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem #10(25 points) (a) Write a method in Java to sort a stack of n integer numbers, s, in increasing order. static Stack sort(Stack s)

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

Problem #10(25 points) (a) Write a method in Java to sort a stack of n integer numbers, s, in increasing order. static Stack sort(Stack s) To implement this method you must use one more auxiliary stack and you should not make any assumptions about how the stack is implemented. The following are the only functions that should be used to write this program: push, pop, peek, and isEmpty. (b) What is the running time complexity of your method? Justify. Important Notes: You must add the main method in your program to test your implementation. There are no data errors that need to be checked as all the data will be assumed correct. Your program MUST be submitted only in source code form (.java file) A program that does not compile or does not run loses all correctness points. . Problem #2: (20 points) A MyList is a data structure consisting of a list of items, on which the following operations are possible: myPush(x): Insert item x on the front end of the MyList. myPop): Remove the front item from the MyList and return it. myInject(x): Insert item x on the rear end of the MyList. Using the LinkedList class, write a class in Java to implement the MyList data structure and that take O(1) time per operation. Note: The MyList class signature is: public class MyList Problem #3: (30 pts) Given an array A of n integers, a leader element of the array A is the element that appears more than half of the time in A. Using one stack, implement in Java an O(n) running time complexity method static int leader(int[] A) to find a leader element and return the index (any) of the leader in A. The program must returns -1 if no leader element exists. Examples int[] a -23, 23, 67, 23, 67, 23, 45}; leader (a) - 5 int[] a -(23, 24, 67, 23, 67, 23, 45}; leader(a)1 Important Notes: You must add the main method in your program to test your implementation. There are no data errors that need to be checked as all the data will be assumed correct . You can use the array of the previous example to test your program, however, I suggest that you also use other input arrays to validate the correctness and efficiency of your solution. . Your program MUST be submitted only in source code form (.java file). A program that does not compile or does not run loses all correctness points. Problem #4: (35 points In this problem, you will write some Java code for simple operations on binary search trees where keys are integers. Assume you already have the following code and assume that the method bodies, even though not shown, are correct and implement the operations as we defined them in class. public class BinarySearchTreeNode public int key; public BinarySearchTreeNode left; public BinarySearchTreeNode right; public class BinarySearchTree private BinarySearchTreeNode root; public void insert(int key) 1 public void delete(int key) J public boolean find(int key) > (a) Add a method public int positiveKey Sum() to the BinarySearchTree class that returns the sum of all non-negative keys in the tree. You will need an assistant/helper method. (b) Add method public void deleteMax) to the BinarySearch Tree class that deletes the maximum element in the tree (or does nothing if the tree has no elements). c) Add method public void printTree() to the BinarySearchTree class that iterates over the nodes to print then in decreasing order. So the tree... 4 Produces the output "5 4 3 2 1". Note: You will need an assistant/helper method. d) Add method public void printPostorder() to the BinarySearchTree class that prints out the nodes of the tree according to a "postorder" traversal. So the tree... 4 1'5 Produces the output "1 3 2 5 4". Note: You will need an assistant/helper method. e) You have a binary search tree. Consider a leave I. B is the set of keys in the path p of I including the leave / and the root of the tree. A is the set of keys to the left of the path p. C is the set of keys to the right of the path p. Is the following statement true or false? Given any element a in A; b in B, c in C; a b c, Justify your answer. Important Notes: For this problem, you only need to submit the implementation of four methods in Java (positiveKeySum, deleteMin, printTree, and printPostorder) In the part e), you don't need to submit any implementation in Java and just you must answer the

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

50 Tips And Tricks For MongoDB Developers Get The Most Out Of Your Database

Authors: Kristina Chodorow

1st Edition

1449304613, 978-1449304614

More Books

Students also viewed these Databases questions