Data structures and algorithms in C++
2nd Edition
ISBN: 9780470460443
Author: Goodrich
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Expert Solution & Answer
Chapter 7, Problem 11R
Explanation of Solution
Arithmetic-expression tree:
An arithmetic-expression for the given criteria is as follows:
- The four numbers “1”, “5”, “6”, and “7” are stored in different external nodes.
- An operator from the set {+, -, x, /} are stored in three internal nodes.
- The operator “/” is used twice in the arithmetic-expression tree...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
All of the following are true EXCEPT:
An empty tree is defined to have a height of 1.
The depth of a node p is the number of ancestors of p, other than p itself.
The height of a tree to be equal to the maximum of the depths of its nodes (or zero, if the tree is empty).
The height of a node p in a tree T:
• If p is a leaf, then the height of p is 0.
• Otherwise, the height of p is one more than the maximum of the heights of p's children.
Write a recursive function that increments by one the value for every node in the binary tree pointed at by root, then returns the modified tree. Assume that nodes store integer values. Here are methods that you can use on the BinNode objects: interface BinNode { public int value(); public void setValue(int v); public BinNode left(); public BinNode right(); public boolean isLeaf(); }
public BinNode BTinc(BinNode root){ }
Write an iterative (non-recursive) function that returns the minimum value in the tree. If the tree is empty, return 0.
class Node {public:Node() {left = right = 0;}Node(int v, BSTNode *l = 0, BSTNode *r = 0) {val = v; left = l; right = r;}int val;Node *left, *right;};
Chapter 7 Solutions
Data structures and algorithms in C++
Knowledge Booster
Similar questions
- IN C++ please Given an infix expression, write a program to store it in an expression tree. Your program should do the following: Read any infix expression from the standard input with operators +, -, *, /, ++, --, (, and ) and construct the tree. Show the expression in prefix and postfix notation based on user choice. Return the height of the tree and the height of any node ni upon a request.arrow_forwardWrite a program using c++ to implement a character-based Binary Search Tree (BST). Each node in the BST should be store student name (string) as follows: class Node{// node prototype public: char ch;// this letter is taken from student first letter string studentName; Node *leftChild; Node *rightChild; }; For example, if a student’s name is Adam then ch will be equals to A. If the student’s name is Lee then ch will be equal to L. The insertion of a node to the BST is based on the first letter of the student name. Your program should display the following: 1. Insert a node (base on ch) 2. Find a node (base on student name) 3. Delete a node (consider all three cases of delete) 4. Exit Step by step output: ------------------------------------------------------------------------------------------------------------ Insert a node (base on ch) Find a node (base on student name) Delete a node (consider all three cases of…arrow_forwardCreate a binary linked tree, and traverse the tree by using the recursive function. The structure of the tree is as follow: //PICTURE// You should input the nodes in pre-order sequence. If a child of a node is NULL, input a space. Write the function of create binary tree, pre-order to print the nodes, in-order to print the nodes and post-order to print the nodes. Count the height of the tree.arrow_forward
- Implement a tree using a doubly linked list. Each node in the linked list would be of type“struct/class” and has the following declaration: struct/class Student {Student * left;Student * right;int marks;string name;}; You have to implement the following functions for the tree:1) InsertThis function will add a new student within the tree structure. Ask the user for studentname and marks.2) DisplayThis function will print data of all students in the tree structure (use any traversal method).3)SortingThis function will sort the students within the tree structure based on marks. NOTE:DO IN C++arrow_forwardWrite a program using c++ to implement a character-based Binary Search Tree (BST). Each node in the BST should be store student name (string) as follows: class Node{// node prototype public: char ch;// this letter is taken from student first letter string studentName; Node *leftChild; Node *rightChild; }; For example, if a student’s name is Adam then ch will be equals to A. If the student’s name is Lee then ch will be equal to L. The insertion of a node to the BST is based on the first letter of the student name. Your program should display the following: 1. Insert a node (base on ch) 2. Find a node (base on student name) 3. Delete a node (consider all three cases of delete) 4. Exit and Output/results provided and explain the algorithm with a given input.arrow_forward1. Draw the recursion tree generated when calling hanoi (3, 1, 3). The first parameter is numDisks, the second is the number of the fromPeg, and the last is the toPeg. Each node in the tree should include the function name and three parameters described above. hanoi (3, 1, 3) is the root node in the drawing.arrow_forward
- Create a function that takes an array that represent a Binary Tree and a value and return true if the value is in the tree and, false otherwise. Examples valueInTree (arr1, 5) true valueInTree (arr1, 9) → false valueInTree (arr2, 51) → falsearrow_forward} 20. In a binary search tree, the immediate predecessor of a given node is the largest node in its left subtree. For example, the immediate predecessor of node 25 in the following tree is 23 while it is 15 for node 16. Nodes 21 and 39 do not have an immediate predecessor because none of them has a left child. 25 / 1 Write a non-recursive method immediate Predecessor, which takes a BSTNode parameter node (a reference to a node in a binary search tree) and returns a reference to its immediate predecessor in the tree. If node is null or it does not have an immediate predecessor, the method returns null. public class BSTNode 4 { private int m_info; private BSTNode m_left; private BSTNode m_right; public int getInfo() {return m_info; } public void setInfo (int value) {m_info = info; } public BSTNode getLeft () {return m_left; } public void setLeft (BSTNode left) (m_left = left; } public BSTNode getRight () {return m_right;} public void setRight (BSTNode right) {m_right = right;} } public…arrow_forwardIn C++ Please Write a struct Student that has member variables: (string) first name, (int) age and (double) fee. Implement the Splay tree whose each node has data component an instance of the struct Student. Comparison of the nodes must be made with respect to age. Write the following functions along with necessary functions to: (i) search elements in the tree; (ii) insert nodes in the tree; (iii) print the tree in pre-order traversal fashion; (iv) delete a node from the tree; Implement the following (you can hardcode the inputs): (i) insert seven elements in the tree: (Kabeer, 19, 35.17), (John, 21, 31.65), (Paul, 25, 33.43), (Kaur, 18, 34.93), (Patel, 23, 36.37), (Alexander, 22, 33.78), (Ramesh, 27, 34.46); (ii) print the tree in pre-order fashion; (iii) delete an element from the tree (John, 21, 31.65); (iv) search an element (Alexander, 22, 33.78) in the tree; (v) print the tree in pre-order traversal fashion;arrow_forward
- Using c# , Write a constructor for the binary search tree class that accepts a sorted list L and builds aperfectly balanced binary search tree. Because constructors cannot be recursive, anothermethod called Build must be defined to carry out the actual construction of the tree.arrow_forwardThe prefix tree is a search tree data structure to store a set of strings. A prefix tree has the following properties: • Each prefix tree has a root indicating the start of each string. • Each path from the root node in the tree corresponds to a prefix of some string. • Each node has a flag to denote if the prefix is actually also a string in the set. For example, suppose we have 4 strings: "cat", "car", "dog", and "do". The corresponding prefix tree should conceptually be as follows, where the shaded nodes indicate the end of a string. root d a Assume the strings only contain lowercase English letters. The PrefixTreeNode class is given below. class PrefixTreeNode public: PrefixTreeNode *children [26]; // the child nodes for 26 letters bool wordEnds; // indicates the end of a string PrefixTreeNode () wordEnds = false; for (int i = 0; i < 26; i++) children [i] = NULL; } ; children is an array of pointers pointing to sub-prefix-trees of the 26 English letters. At each node, children[0]…arrow_forwardCreate a binary linked tree, and traverse the tree by using the recursive function. The structure of the tree is as follows: //check pic// You should input the nodes in pre-order sequence. If a child of a node is NULL, input a space. Write the function of create binary tree, pre-order to print the nodes, in-order to print the nodes and post-order to print the nodes. Count the height of the tree. Hints: Header file typedef char ElemType; typedef struct node//define the type of binary tree node { }BTnode; Source file #include <stdio.h> #include <stdlib.h> #include "tree.h" BTnode * createTree()//create the binary tree,return the root { BTnode *tnode;// tnode is the root char elem; ;//input the character //if the input is a space,set the pointer as NULL Else// if the input is not a space,generate the binary node and create its left…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- 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
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education