Could someone please help me with this Binary Tree assignment in C++. Thank you!
ID: 3674103 • Letter: C
Question
Could someone please help me with this Binary Tree assignment in C++. Thank you!
Write your own version of a class template that will create a binary tree that can hold values of any data type. Demonstrate the class with a driver program. Place your binary tree template in it's own header file, Btree.h. Include methods for the following:
1. inserting new values into the tree
2. removing nodes from the tree
3. searching the tree
4. returning the number of nodes in the tree
5. displaying the contents of the tree using preorder traversal
Your public interface must include at least the following methods (Where T is a generic parameter ( you can name it anything):
- void insert( T )
- void remove( T )
- bool search( T )
- void preprint()
- int count()
Sample Usage:
BTree<char> b;
b.preprint();
cout << b.count();
b.insert('A');
cout << b.search('A');
b.remove('A');
Should be able to write statements like this in a program and have your class compile and run.
The count method must use recursion, you may not store the number of nodes as an attribute within the class.
You may not use a container from the STL.
A sample run:
Could be anything that demonstrates the class. A menu-driven program would be great for this.
Perhaps include options for insert, remove, search, count, print operations:
(I)nsert
(R)emove
(S)earch
(C)ount
(P)rint
(Q)uit
And here is the incomplete BTree.h
#ifndef
#define
#include <iostream>
using std::cout;
using std::endl;
template <class T>
class BTree
{
public:
// constructor
// destructor
// public interface prototypes
void insert( T );
void remove( T );
void preprint() const;
bool search( T value ) const
int count() const
private:
// define and declare the BTree node here
// recursive method prototypes
void preprint( Node* ) const;
};
Explanation / Answer
Implementation (.cpp) file for a binary tree
Main file used to test the tree
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.