Question
19.1) Add these three functions to the class binaryTreeType (provided). Write the definition of the function, nodeCount, that returns the number of nodes in the
19.1)
Write the definition of the function, nodeCount, that returns the number of nodes in the binary tree.
Write the definition of the function, leavesCount, that takes as a parameter a pointer to the root node of a binary tree and returns the number of leaves in a binary tree.
Write a function, swapSubtrees, that swaps all of the left and right subtrees of a binary tree. Print the original tree and the resulting tree using a pre-order traversal.
Write a program to test your new functions. Use the data provided to build your binary search tree (-999 is the sentinel):
Data: 65 55 22 44 61 19 90 10 78 52 -999
below is the source code:
//Header File Binary Search Tree #ifndef H_binaryTree #define H_binaryTree #include
using namespace std;
//Definition of the Node template
bool isEmpty() const; //Function to determine whether the binary tree is empty. //Postcondition: Returns true if the binary tree is empty; // otherwise, returns false.
void inorderTraversal() const; //Function to do an inorder traversal of the binary tree. //Postcondition: Nodes are printed in inorder sequence.
void preorderTraversal() const; //Function to do a preorder traversal of the binary tree. //Postcondition: Nodes are printed in preorder sequence.
void postorderTraversal() const; //Function to do a postorder traversal of the binary tree. //Postcondition: Nodes are printed in postorder sequence.
int treeHeight() const; //Function to determine the height of a binary tree. //Postcondition: Returns the height of the binary tree.
int treeNodeCount() const; //Function to determine the number of nodes in a //binary tree. //Postcondition: Returns the number of nodes in the // binary tree.
int treeLeavesCount() const; //Function to determine the number of leaves in a //binary tree. //Postcondition: Returns the number of leaves in the // binary tree.
void destroyTree(); //Function to destroy the binary tree. //Postcondition: Memory space occupied by each node // is deallocated. // root = NULL;
virtual bool search(const elemType& searchItem) const = 0; //Function to determine if searchItem is in the binary //tree. //Postcondition: Returns true if searchItem is found in // the binary tree; otherwise, returns // false.
virtual void insert(const elemType& insertItem) = 0; //Function to insert insertItem in the binary tree. //Postcondition: If there is no node in the binary tree // that has the same info as insertItem, a // node with the info insertItem is created // and inserted in the binary search tree.
virtual void deleteNode(const elemType& deleteItem) = 0; //Function to delete deleteItem from the binary tree //Postcondition: If a node with the same info as // deleteItem is found, it is deleted from // the binary tree. // If the binary tree is empty or // deleteItem is not in the binary tree, // an appropriate message is printed.
binaryTreeType(const binaryTreeType
binaryTreeType(); //Default constructor
~binaryTreeType(); //Destructor
protected: nodeType
private: void copyTree(nodeType
void destroy(nodeType
void inorder(nodeType
void preorder(nodeType
void postorder(nodeType
int height(nodeType
int max(int x, int y) const; //Function to determine the larger of x and y. //Postcondition: Returns the larger of x and y.
int nodeCount(nodeType
int leavesCount(nodeType
//Definition of member functions
template
template
template
template
template
template
template
template
template
template
template
template
//Overload the assignment operator template
if (otherTree.root == NULL) //otherTree is empty root = NULL; else copyTree(root, otherTree.root); }//end else
return *this; }
template
template
//copy constructor template
//Destructor template
template
template
template
return 0; }
template
return 0; }
#endif
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started