Concept explainers
(Printing Trees) Write a recursive function outputTree to display a binary tree on the screen. The function should output the tree row-by-row with the top of the tree at the left of the screen and the bottom of the tree toward the right of the screen. Each row is output vertically. For example, the binary tree illustrated in Fig12.22. is output as follows:
Note that the rightmost leaf node appears at the top of the output in the rightmost column, and the root node appears at the left of the output. Each column of output starts five spaces to the right of the previous column. Function outputTree should receive as arguments a pointer to the root node of the tree and an integer totalSpaces representing the number of spaces preceding the value to be output (this variable should start at zero so that the root node is output at the left of the screen). The function uses a modified inorder traversal to output the tree. The
While the pointer to the current node is not NULL.
Recursively call outputTree with the current node’s right subtree and totalSpaces + 5.
Use a for statement to count from 1to totalSpaces Output the value in the current node.
Recursively call outputTree with the current nodes left subtree and totalSpaces + 5.
Want to see the full answer?
Check out a sample textbook solutionChapter 12 Solutions
C How to Program (8th Edition)
Additional Engineering Textbook Solutions
Java: An Introduction to Problem Solving and Programming (7th Edition)
Programming in C
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
Introduction to Programming Using Visual Basic (10th Edition)
Problem Solving with C++ (10th Edition)
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
- Information to solve question: Use "a" for loop to calculate the sum of squares of values in this list: 1, 7, 8, 6, 11. (The answer should be 271) Create a recursive function to do the same calculation a in the previous question. (The function input will be the list. Each recursion, you are going to send a sub-list with one less item from the list) ----------------------------------------------------------------------------------- (1) Create a function to perform bubble sorting in python? The algorithm should stop when there are no swaps in the last iteration.arrow_forward4-) Write a recursion function which counts the number of nodes with at least one child in a BST.arrow_forwardGroup B Q1) A vector is given by x = [-3.5-5 6.2 11 0 8.1-903-132.5]. Using conditional statements and loops, write a program that creates two vectors from x-one (call it P) that contains the positive elements of x, and a second (call it N) that contains the negative elements of x. In both P and N, the elements are in the same order as in x.arrow_forward
- (Data Structures and Algo C++ Weiss 4th ed - ch7.40): The following divide-and-conquer algorithm is proposed for finding the simultaneous maximum and minimum: If there is one item, it is the maximum and minimum, and if there are two items, then compare them, and in one comparison you can find the maximum and minimum. Otherwise, split the input into two halves, divided as evenly as possibly (if N is odd, one of the two halves will have one more element than the other). Recursively find the maximum and minimum of each half, and then in two additional comparisons produce the maximum and minimum for the entire problem. In C++, find a function which will take in a vector and solve the problem, producing a vector of two elements, the min and max.arrow_forwardPython only* Use recursive function*. Define colorListCircles with 2 parameters Use def to define colorListCircles with 2 parameters The colorListCircles function must draw concentric circles using colors from a list. It has two parameters: the first specifies the radius of the largest circle, and the second is a list of colors. The number of concentric circles drawn is the length of the list, and these circles are colored, from largest to smallest, by the colors in the list from first to last. When viewed as nested rings, all rings should have the same thickness. If the list is empty, nothing should be drawn. We will test both how many circles are drawn as well as whether the correct circles are drawn in the correct order, you may not use any loops and you must use recursion. Also, you will still need to use drawDot. For full credit, your function should call drawDot in only one place, and should only contain one recursive call. Do not use any kind of loop Within the definition…arrow_forwardPython only* Use recursive function*. Define colorListCircles with 2 parameters Use def to define colorListCircles with 2 parameters The colorListCircles function must draw concentric circles using colors from a list. It has two parameters: the first specifies the radius of the largest circle, and the second is a list of colors. The number of concentric circles drawn is the length of the list, and these circles are colored, from largest to smallest, by the colors in the list from first to last. When viewed as nested rings, all rings should have the same thickness. If the list is empty, nothing should be drawn. We will test both how many circles are drawn as well as whether the correct circles are drawn in the correct order, you may not use any loops and you must use recursion. Also, you will still need to use drawDot. For full credit, your function should call drawDot in only one place, and should only contain one recursive call. Do not use any kind of loop Within the definition…arrow_forward
- 14. (7 points) Write a recursive function count_odds(Ist) which takes as parameter a list of numbers (1st) and counts the odd numbers in it. Example: >>> count_odds ([2, 5, 7, 6, 4]) 2arrow_forward(Python)- Implement functions successor and predecessor. These functions will take two arguments: the root of a tree and an integer. The successor function returns the smallest item in the tree that is greater than the given item. The predecessorfunction returns the largest item in the tree that is smaller than the given item. Both functions will return -1 if not found. Note that the predecessor or successor may exist even if the given item is not present in the tree. Use this template: # Node definition provided, please don't modify it.class TreeNode:def __init__(self, val=None):self.val = valself.left = Noneself.right = None# TODO: Please implement the following functions that return an integer# Return the largest value in the tree that is smaller than given value. Return -1 if not found.def predecessor(root, value):pass# Return the smallest value in the tree that is bigger than given value. Return -1 if not found.def successor(root, value):passif __name__ == "__main__":# TODO:…arrow_forward1.) Design a Binary Search Tree ADT by using following functions. Include the function definitions & run the program (Kindly include header files as well). Paste the output as a screenshot and write the code in your answer sheet. insert(int val)find(int x)************************************************************************************ class btNode { public: int info; btNode *lLink; btNode *rLink; btNode(int e, btNode *l = NULL, btNode *r = NULL) { info = e; lLink = l; rLink = r; } btNode() { lLink = NULL; rLink = NULL; } }; class binarySTADT { private: btNode *root; int count = 0; public: binarySTADT() { root = NULL; } void insert(int val); // function to insert a given value in the tree.…arrow_forward
- Problem 2 -- Recursive Palindrome (Grey + Scarlet) Write a recursive method, isPalindrome, which takes a String as a parameter, and returns true if the String is a palindrome. For the purposes of this method, you may assume Strings with a length of o or 1 are palindromes.arrow_forwardx4 + 2x3 – 7x2 + 3 = 0 a) One of the root of the equation lies in the range (1.0, 2.0). Find this root in 100 iterations using the bisection method. b) Draw the graph of the function between points (0, 2). Your code should include the following steps: • Write the steps of the bisection function (if, else...) and explain each step. (Explain each step in English or Turkish.) • Your code should calculate the root. • Graphic; Variables of x and y axes should be written, x and y axis names should be written, Series should be written to calculate x axis. Use the linspace() for the x series of the graph and section the range 0-2 into 100 pięces.arrow_forward4-) Write a recursion function which counts the number of nodes with at least one child in a BST. Bir BST de en az bir çocuğu olan düiğümlerin sayısınm bulan rekörsif bir fonksyion yazın.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education