STARTING OUT C++,+MATLAB+MYPROGRAMLAB>C
19th Edition
ISBN: 9781323948637
Author: GADDIS
Publisher: PEARSON C
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 21, Problem 6PC
Program Plan Intro
Copy the binary tree
Program Plan:
- Declare the header file section.
- Create a template prefix and define the template class IntBinaryTree to perform the following functions:
- Declare the required variables.
- Declare the function prototypes.
- Define the no-argument generic constructor IntBinaryTree () to initialize the root value as null.
- Define destructor for IntBinaryTree () class and call the function destroySubTree() to destroy the sub tree.
- Call the functions insertNode(),displayInOrder(), and remove().
- Declare the overloaded assignment operator for binary tree.
- Define the generic function insert () to insert the node in pointed by the tree node pointer in a tree.
- Define the generic copy constructor for IntBinaryTree class to copy the binary tree using copyTree() function.
- Define the generic function insert () to insert the node in pointed by the tree node pointer in a tree.
- Define the generic function insertNode() to create a new node and it is passed inside the insert() function to insert a new node into the tree.
- Define the generic function destroySubTree() to delete the left and right subtree.
- Define the generic function remove()which calls deleteNode() to delete the node.
- Define the generic function deleteNode()which delete the node stored in the variable num and it calls the makeDeletion() function to delete a particular node passed inside the argument.
- Define the generic function makeDeletion()which takes the reference to a pointer to delete the node and the brances of the tree corresponding below the node are reattached.
- Define the generic function displayInOrder()to display the values in the subtree pointed by the node pointer.
- Define the generic function copyTree()to copy the entire binary tree.
- In main() function,
- Create two binary trees with integer data type to hold the integer values.
- Call the function insertNode() to insert some nodes into tree.
- Using assignment operator assign one tree into another tree using respective variables.
- Call the function displayInOrder() to display the nodes in order for tree1 and tree 2.
- Create another object for IntBinaryTree class and copy the tree1 to tree3 using copy constructor and display the tree using displayInOrder() function.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
please help on how to write this code
here is "BinaryNode.java"
// BinaryNode class; stores a node in a tree. // // CONSTRUCTION: with (a) no parameters, or (b) an Object, // or (c) an Object, left child, and right child. // // *******************PUBLIC OPERATIONS********************** // int size( ) --> Return size of subtree at node // int height( ) --> Return height of subtree at node // void printPostOrder( ) --> Print a postorder tree traversal // void printInOrder( ) --> Print an inorder tree traversal // void printPreOrder( ) --> Print a preorder tree traversal // BinaryNode duplicate( )--> Return a duplicate tree /** * Binary node class with recursive routines to * compute size and height. */ class BinaryNode { public BinaryNode( ) { this( 0, null, null ); } public BinaryNode( int theElement, BinaryNode lt, BinaryNode rt ) { element = theElement; left = lt; right = rt; } /** * Return the size of the binary tree rooted at t. */ public static int size(…
only c
here is "BinaryNode.java"
// BinaryNode class; stores a node in a tree. // // CONSTRUCTION: with (a) no parameters, or (b) an Object, // or (c) an Object, left child, and right child. // // *******************PUBLIC OPERATIONS********************** // int size( ) --> Return size of subtree at node // int height( ) --> Return height of subtree at node // void printPostOrder( ) --> Print a postorder tree traversal // void printInOrder( ) --> Print an inorder tree traversal // void printPreOrder( ) --> Print a preorder tree traversal // BinaryNode duplicate( )--> Return a duplicate tree /** * Binary node class with recursive routines to * compute size and height. */ class BinaryNode { public BinaryNode( ) { this( 0, null, null ); } public BinaryNode( int theElement, BinaryNode lt, BinaryNode rt ) { element = theElement; left = lt; right = rt; } /** * Return the size of the binary tree rooted at t. */ public static int size( BinaryNode t ) { if( t == null ) return…
Build a tree identification code.
please Fast
thank you
Chapter 21 Solutions
STARTING OUT C++,+MATLAB+MYPROGRAMLAB>C
Ch. 21.1 - Prob. 21.1CPCh. 21.1 - Prob. 21.2CPCh. 21.1 - Prob. 21.3CPCh. 21.1 - Prob. 21.4CPCh. 21.1 - Prob. 21.5CPCh. 21.1 - Prob. 21.6CPCh. 21.2 - Prob. 21.7CPCh. 21.2 - Prob. 21.8CPCh. 21.2 - Prob. 21.9CPCh. 21.2 - Prob. 21.10CP
Ch. 21.2 - Prob. 21.11CPCh. 21.2 - Prob. 21.12CPCh. 21 - Prob. 1RQECh. 21 - Prob. 2RQECh. 21 - Prob. 3RQECh. 21 - Prob. 4RQECh. 21 - Prob. 5RQECh. 21 - Prob. 6RQECh. 21 - Prob. 7RQECh. 21 - Prob. 8RQECh. 21 - Prob. 9RQECh. 21 - Prob. 10RQECh. 21 - Prob. 11RQECh. 21 - Prob. 12RQECh. 21 - Prob. 13RQECh. 21 - Prob. 14RQECh. 21 - Prob. 15RQECh. 21 - Prob. 16RQECh. 21 - Prob. 17RQECh. 21 - Prob. 18RQECh. 21 - Prob. 19RQECh. 21 - Prob. 20RQECh. 21 - Prob. 21RQECh. 21 - Prob. 22RQECh. 21 - Prob. 23RQECh. 21 - Prob. 24RQECh. 21 - Prob. 25RQECh. 21 - Prob. 1PCCh. 21 - Prob. 2PCCh. 21 - Prob. 3PCCh. 21 - Prob. 4PCCh. 21 - Prob. 5PCCh. 21 - Prob. 6PCCh. 21 - Prob. 7PCCh. 21 - Prob. 8PC
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- A binary tree is balanced if every node in the tree is such that the heights of its left and right subtrees do not differ by more than one. Complete the pseudo-code method isBalanced which determines if a binary tree is balanced. The function returns a value of -1 if the tree is not balanced, otherwise it returns the height of the tree. Add comments to explain what your code segment is doing. The following definition of a node in the tree is used. class BinaryNode { int element; BinaryNode left; BinaryNode right; } Complete the method below: int isBalanced (BinaryNode t) { int leftCount=0; int rightCount=0; if (t == null) //empty tree, height is 0 return 0; if ((t.left== null) and (t.right== null) return 0; else { . . . . . . . . . } }arrow_forwardHelp with Java Code With following Binary Node and Binary Tree class need help making an AVL Tree with the Insert and Remove Functions that deals with the rotations. Use inheritance from Binary Tree to create AVL Tree. Modifications to the Binary Node or Binary Tree are fine. Trees should be specific for strings Binary Node Class: public class BinNode{private String data;private BinNode left;private BinNode right;public BinNode(){data = "";left = null;right = null;}public BinNode(String d){data = d;left = null;right = null;}public void setData(String d){this.data = d;}public String getData(){return this.data;}public void setLeft(BinNode l){this.left = l;}public BinNode getLeft(){return this.left;}public void setRight(BinNode r){this.right = r;}public BinNode getRight(){return this.right;}} Binary Tree Code: public class BinaryTree{private BinNode root;private BinNode curr;/* Function to traverse right */public void goRight() {this.curr = this.curr.getRight();}public…arrow_forwardComputer Science I need help in coding a method in c# called union that combines a tree so that the tree is returned to having at most one instance of each level.arrow_forward
- Procedure. During the course of this project you are to:1. Construct a tree of Hex-a-Pawn board positions. Each node of the tree is called a GameTree. The structure of the class is of your own design, but it is likely to be similar to the BinaryTree implementation.2. Construct three classes of Players that play the game of Hex-a-Pawn. These three classes may interact in pairs to play a series of games. give code to implementarrow_forwardC++ language only pls implement a binary tree and multi-child tree that can use a generic data type. and make sure that it can be traverse the tree and can access the children nodes thanks! CODE ONLY ON C++arrow_forward(binary search tree c++)i am having issues with my code i am able to insert names into into the tree but they do not save(it says tree is empty). i will show you a picture of my output(black background) and a picture of the desired output(white background), i will also include my source main and .h class. //bt.cpp - file contains member functions#include "bt.h"#include <iostream>using namespace std;//ConstructorBT::BT(){ root = NULL;} //Insert new item in BSTvoid BT::insert(string d){ node* t = new node; node* parent; t->data = d; t->left = NULL; t->right = NULL; parent = NULL; if (isEmpty()) root = t; else { //Note: ALL insertions are as leaf nodes node* curr; curr = root; // Find the Node's parent while (curr) { parent = curr; if (t->data > curr->data) curr = curr->right; else curr = curr->left; }…arrow_forward
- Text concordance using BST 1 Project description Write a cross-reference program that constructs a binary search tree (any type, including splay tree) with all words included from a text file and records the positions (word or line numbers) on which these words were used. These line numbers should be stored on linked lists associated with the nodes of the tree. After the input file has been processed, print in alphabetical order all words of the text file along with the corresponding list of numbers of the lines in which the words occur. 2 What to turn in You will turn in a short written report containing: A description of the significant choices/issues in the design of your code. The source-code of your program. 3 Coding standards A percentage of your grade will be based on the quality of your code, so pay attention to it. Discuss changes (if any) you made to programs presented in class. Take extra care in documenting the code you are implementing on your…arrow_forwardCs questions. A binary search tree can be used to store arithmetic expressions. Change the BinarySearchTree class to implement the required operator precedence rules for the evaluation of expressions like 2 + 3 4 / 5.with C++arrow_forwardBook{ AvlNode{ AvlTree{String title Book insert()int ID int height printTree()String author AvlNode left height()double price AvlNode right max()} } }From your understanding of AVL trees, implement the four different types of rotations and node swoping inside AvlTree.java; each question must be completed with inline Javadoc and/or comments:1. rotRight(AvlNode someNode) and returns AvlNode.2. rotLeft(AvlNode someNode) and returns AvlNode.3. doubleRotLeft(AvlNode someNode) and returns AvlNode. 4. doubleRotRight(AvlNode someNode) and returns AvlNode. 5. Complete a driver code under the main methodarrow_forward
- Add to the BinarySearchTree class a member function string smallest() const that returns the smallest element of the tree. Provide a test program to test your function. #include <iostream>#include <string>using namespace std;class TreeNode{public:void insert_node(TreeNode* new_node);void print_nodes() const;bool find(string value) const;private:string data;TreeNode* left;TreeNode* right;friend class BinarySearchTree;};class BinarySearchTree{public:BinarySearchTree();void insert(string data);void erase(string data);int count(string data) const;void print() const;private:TreeNode* root;};BinarySearchTree::BinarySearchTree(){root = NULL;}void BinarySearchTree::print() const{if (root != NULL)root->print_nodes();}void BinarySearchTree::insert(string data){TreeNode* new_node = new TreeNode;new_node->data = data;new_node->left = NULL;new_node->right = NULL;if (root == NULL) root = new_node;else root->insert_node(new_node);}void TreeNode::insert_node(TreeNode*…arrow_forwardJava - Write an insert module for a Binary Tree data structure. The module will take two parameters: a root pointer/reference to a TreeNode, and a character as a data element (each TreeNode has a character data element called "data", and 2 references to a TreeNode; called "left" and "right"). This insert module is not a member method. Higher values go to the left. Do NOT assume the existence of any other methodsarrow_forwardIn this assignment you have to extend your assignment 3. Your program should give anoption to the user for either creating a BST or an AVL tree. Now add to your assignment3 the functionality of an AVL tree. Create a class for representing an AVL tree. Eachnode of the AVL tree must represent a student with following attributes Roll Number (Key) Name Department CGPAAdd following function to your class Creation a AVL Insertion of Node in the AVL (With both single and double rotations, whererequired) Display AVL tree in all orders (in, pre and post)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