Question

In: Computer Science

Could you do it with python please? public class BSTTraversal {         public static void main(String[]...

Could you do it with python please?

public class BSTTraversal {

        public static void main(String[] args) {

                /**

                 * Creating a BST and adding nodes as its children

                 */

                BSTTraversal binarySearchTree = new BSTTraversal();

                Node node = new Node(53);

                binarySearchTree.addChild(node, node, 65);

                binarySearchTree.addChild(node, node, 30);

                binarySearchTree.addChild(node, node, 82);

                binarySearchTree.addChild(node, node, 70);

                binarySearchTree.addChild(node, node, 21);

                binarySearchTree.addChild(node, node, 25);

                binarySearchTree.addChild(node, node, 15);

                binarySearchTree.addChild(node, node, 94);

                /**

                 * calling method sortTraversal to traverse the nodes either in Ascending or Descending

                 * based on the choice given by the user.

                 * In this, I have sent the sortOrderType as parameter for testing.

                 * This choice can also be got from the end user using Scanner.in

                 */

                System.out.println("---------Ascending [or] InOrder Traversal---------");

                binarySearchTree.sortTraversal(node, "ascending");

                System.out.println("\n---------Descending Order------------------");

                binarySearchTree.sortTraversal(node, "descending");

        }

        /**

         * sortTraversal method that performs the sort raversal of nodes

         * either in Ascending or Descending

         * based on the choice given by the user.

         */

        public void sortTraversal(Node node, String orderType) {

                if(node==null)

                        return;

                else if (orderType.equalsIgnoreCase("ascending")){

                        sortTraversal(node.getLeft(), "ascending");

                        System.out.print(node.getData() + " ");

                        sortTraversal(node.getRight(), "ascending");

                } else if (orderType.equalsIgnoreCase("descending")){

                        sortTraversal(node.getRight(), "descending");

                        System.out.print(node.getData() + " ");

                        sortTraversal(node.getLeft(), "descending");

                }

        }

        /**

         * addChild method to add nodes as children for BST tree,

         * either left or right based on comparing of Data

         */

        public Node addChild(Node parentNode, Node node, int childData)

        {

                if(node == null)

                {

                        node = new Node(childData);

                        if(childData < parentNode.getData())

                                parentNode.setLeft(node);

                        else if(childData > parentNode.getData())

                                parentNode.setRight(node);

                }

                else if(childData > node.getData())

                {

                        addChild(node, node.getRight(), childData);

                }

                else if(childData < node.getData())

                {

                        addChild(node, node.getLeft(), childData);

                }

                return node;

        }

}

/**

* The Node Class

*/

class Node {

        private Node left = null, right = null;

        private int data;

        Node(int value)

        {

                data = value;

        }

        public Node getLeft() {

                return left;

        }

        public void setLeft(Node left) {

                this.left = left;

        }

        public Node getRight() {

                return right;

        }

        public void setRight(Node right) {

                this.right = right;

        }

        public int getData() {

                return data;

        }

        public void setData(int data) {

                this.data = data;

        }

Solutions

Expert Solution

Program Code Screenshot:

Sample Output:

The screenshots are attached below for reference.

Please follow them for proper indentation and output.

The code given is converted to python and is executed. Please upvote my answer. Thank you.

Program code to copy:

class Node:
__left=None
__right=None
__data=None
def __init__(self,value):
self.__data=value

def getLeft(self):
return self.__left

def setLeft(self,l):
self.__left=l

def getRight(self):
return self.__right

def setRight(self,r):
self.__right=r

def getData(self):
return self.__data
def setData(self,d):
self.__data=d


def sortTraversal(node,orderType):
if node==None:
return;
elif orderType.lower()=="ascending":
sortTraversal(node.getLeft(), "ascending")
print(str(node.getData()) ,end=" ")
sortTraversal(node.getRight(), "ascending")
elif orderType.lower()=="descending":
sortTraversal(node.getRight(), "descending")
print(str(node.getData()) ,end= " ")
sortTraversal(node.getLeft(), "descending")

def addChild(parentNode,node,childData):
if node==None:
node=Node(childData)
if childData<parentNode.getData():
parentNode.setLeft(node)
elif childData>parentNode.getData():
parentNode.setRight(node)
elif childData>node.getData():
addChild(node,node.getRight(),childData)
elif childData<node.getData():
addChild(node,node.getLeft(),childData)
return node;
node=Node(53)
addChild(node,node,65)
addChild(node,node,30)
addChild(node,node,82)
addChild(node,node,70)
addChild(node,node,21)
addChild(node,node,25)
addChild(node,node,15)
addChild(node,node,94)

print("---------Ascending [or] InOrder Traversal---------")
sortTraversal(node,"ascending")
print("\n---------Descending Order------------------")
sortTraversal(node,"descending")



Related Solutions

could you do all the challenges? public class Main { public static void main(String[] args) {...
could you do all the challenges? public class Main { public static void main(String[] args) { // declare an array so you can easily use them under // one name //ex1 array of test score 0-100 int[] testScores = new int[100]; //ex2 array of 200 gpa double[] gpa = new double[200]; //ex3 50 element array of age int[] age; //1 - declares age array age = new int[50]; //2 - instantiates age array age[0] = 10; //3 - put initial...
Consider this program: public class Main { public static void main(String[] args) { String s1 =...
Consider this program: public class Main { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); System.out.println(s1 == s2); System.out.println(s2 == s3); System.out.println(s2.equals(s3)); } } When we run the program, the output is: true false true Explain why this is the output, using words and/or pictures.
public class Main { public static void main(String [] args) { int [] array1 = {5,...
public class Main { public static void main(String [] args) { int [] array1 = {5, 8, 34, 7, 2, 46, 53, 12, 24, 65}; int numElements = 10; System.out.println("Part 1"); // Part 1 // Enter the statement to print the numbers in index 5 and index 8 // put a space in between the two numbers and a new line at the end // Enter the statement to print the numbers 8 and 53 from the array above //...
---------------------------------------------------------------------------- public class Main { public static void main(String[] args) { int[] A = {11, 12,...
---------------------------------------------------------------------------- public class Main { public static void main(String[] args) { int[] A = {11, 12, -10, 13, 9, 12, 14, 15, -20, 0}; System.out.println("The maximum is "+Max(A)); System.out.println("The summation is "+Sum(A)); } static int Max(int[] A) { int max = A[0]; for (int i = 1; i < A.length; i++) { if (A[i] > max) { max = A[i]; } } return max; } static int Sum(int[] B){ int sum = 0; for(int i = 0; i --------------------------------------------------------------------------------------------------------------------------- Convert...
class Main { public static void main(String[] args) {        int[] array = {1,2,3,4,5};   ...
class Main { public static void main(String[] args) {        int[] array = {1,2,3,4,5};        //Complexity Analysis //Instructions: Print the time complexity of method Q1_3 with respect to n=Size of input array. For example, if the complexity of the //algorithm is Big O nlogn, add the following code where specified: System.out.println("O(nlogn)"); //TODO }    public static void Q1_3(int[] array){ int count = 0; for(int i = 0; i < array.length; i++){ for(int j = i; j < array.length;...
public class OOPExercises {     public static void main(String[] args) {         A objA = new...
public class OOPExercises {     public static void main(String[] args) {         A objA = new A();         B objB = new B();         System.out.println("in main(): ");         System.out.println("objA.a = "+objA.getA());         System.out.println("objB.b = "+objB.getB());         objA.setA (222);         objB.setB (333.33);       System.out.println("objA.a = "+objA.getA());         System.out.println("objB.b = "+objB.getB());     } } Output: public class A {     int a = 100;     public A() {         System.out.println("in the constructor of class A: ");         System.out.println("a = "+a);         a =...
public class GreeterTest {    public static void main(String[] args)    { // create an object...
public class GreeterTest {    public static void main(String[] args)    { // create an object for Greeter class Greeter greeter = new Greeter("Jack"); // create two variables Greeter var1 = greeter; Greeter var2 = greeter; // call the sayHello method on the first Greeter variable String res1 = var1.sayHello(); System.out.println("The first reference " + res1); // Call the setName method on the secod Grreter variable var2.setName("Mike"); String res2 = var2.sayHello(); System.out.println("The second reference " + res2);    } }...
public class ArraySkills { public static void main(String[] args) { // *********************** // For each item...
public class ArraySkills { public static void main(String[] args) { // *********************** // For each item below you must code the solution. You may not use any of the // methods found in the Arrays class or the Collections classes // You must use Java's built-in Arrays. You are welcome to use the Math and/or Random class if necessary. // You MUST put your code directly beneath the comment for each item indicated. String[] myData; // 1. Instantiate the given...
------------------------------------------------------------------------------------ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input =...
------------------------------------------------------------------------------------ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int result = 0; System.out.print("Enter the first number: "); int x = input.nextInt(); System.out.print("Enter the second number: "); int y = input.nextInt(); System.out.println("operation type for + = 0"); System.out.println("operation type for - = 1"); System.out.println("operation type for * = 2"); System.out.print("Enter the operation type: "); int z = input.nextInt(); if(z==0){ result = x + y; System.out.println("The result is " + result); }else...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {       ...
import java.util.Stack; import java.util.Scanner; class Main { public static void main(String[] args)    {        Stack<Integer> new_stack = new Stack<>();/* Start with the empty stack */        Scanner scan = new Scanner(System.in);        int num;        for (int i=0; i<10; i++){//Read values            num = scan.nextInt();            new_stack.push(num);        } System.out.println(""+getAvg(new_stack));    }     public static int getAvg(Stack s) {        //TODO: Find the average of the elements in the...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT