Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write your own class that implements a binary search tree. Use the following UML diagram and attribute descriptions. Place all the code for the class

Write your own class that implements a binary search tree. Use the following UML diagram and attribute descriptions. Place all the code for the class in a single header file named Tree.h. Be sure to include preprocessor guards.

image text in transcribed

Note -- clear(r : Node*&) : void should be private

Class Attributes:

Node - a private, nested struct.

i - an int that stores the value in the tree.

left - a Node pointer that stores the memory address of the left child.

right - a Node pointer that stores the memory address of the right child.

root - a Node pointer that stores the memory address of the root node.

constructor - initializes root to null.

destructor - frees all memory used by the Tree.

add - a public method that calls the private add method, passing it the root pointer and it's argument.

add - a private method that is called by public add. Accepts the root pointer by reference and and integer to add to the tree as it's only arguments.

remove - a public method that calls the private remove method, passing it the root pointer and it's argument.

remove - a private method that is called by the public remove method. Accepts the root pointer, by reference, and a value to search for and remove from the tree as it's only arguments.

find - a public method that calls the private find method, passing it's argument and the root pointer to the private find method. Returns the value returned by the private find method.

find - a private method that accepts a root pointer and value to search for in the tree. Returns true if it's found, false otherwise.

print - a public method that calls the private print method, passing the root pointer to the private print method.

print - a private method that accepts the root pointer as it's only argument. Prints the contents of the tree using in-order traversal.

clear - a public method that calls the private clear method, passing the root pointer to the private clear method.

clear - a private method that accepts the root pointer by reference. Frees all memory used by the tree.

Notes:

Accessors should be marked const.

The only method that interacts with the user is public print. It has a cout statement, but no cin statements. No other method contains cin or cout statements.

You are not writing an entire program, just a class.

After calling clear, root should be set back to null.

Hints:

If your program crashes, you're almost certainly accessing an invalid memory location or suffering from infinite recursion.

Make sure you pay attention to passing by reference when it's needed.

Tree Node i: int left: Node* ight: Node -root: Node* +Tree() +-Tree() +add(i: int): void -add(r Node*&, i : int): void tremove(i : int) void -remove(r Node*&, i : int): void +find(i : int) bool find(r Node*, i: int):bool +print() : void print(r Node*): void +clear(): void +clear(r Node*&) :void

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Information And Database Systems Asian Conference Aciids 2012 Kaohsiung Taiwan March 19 21 2012 Proceedings Part 3 Lnai 7198

Authors: Jeng-Shyang Pan ,Shyi-Ming Chen ,Ngoc-Thanh Nguyen

2012th Edition

3642284922, 978-3642284922

More Books

Students also viewed these Databases questions