Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

This section prescribes additional exercise with the recursive and iterative handling of a binary search tree.

Adding to the Binary Search Tree Recursively

Add implementations to recursively add to the binary search tree. The public addRecursively method should examine the tree's root, placing the new addition there if the root is zero; otherwise,addRecursively will call the private method addRecursively, passing it the non-zero root of the tree. The recursive method will compare the new addition's data to that located at the current root. If the data is less and the subsequent left pointer is zero, the new addition can be stored there; otherwise, the function calls itself recursively, passing the non-zero left pointer to itself. Data in the new addition greater than that in the current root is handled similarly with the right pointer.

Displaying the Binary Search Tree Iteratively

Add the implementation to iteratively write the binary search tree. The iteration will move down the tree, following successive left pointers. The first node with zero for a left pointer may be written, as there can be no data which comes before it. The iteration which moves down the tree will need to stack each current pointer so that it may unwind the downward traversal of the tree. Use theTemplateNode, TemplateList and TemplateStack implementations from the previous homework for this purpose. Starting with a current pointer initialized to the root of the tree, replace the current pointer with each non-zero left pointer encountered; push current on the stack before each replacement. When a left pointer of zero is encountered, display that node's data and move to the right. When a right pointer of zero is assigned to current, pop to move back up the tree, write a node, then move right again. Become familiar with this behavior in a diagram before coding.

Destroying the Binary Search Tree

Implement a recursive erase method. Add the following prototypes to the tree's class definition.

public:

voideraseRecursively

                  (void);

private:

voideraseRecursively

                  (node* currentRoot);

The bodies of these methods will be identical in form to those for writing recursively.

Add the following code to the else clause in the main function. Note the use of the recursive erase and add methods and the iterative write.

cout<< "Press to continue...\n";

cin.get();

customerTree.eraseRecursively();

cout<< "Recursive Tree Listing After Erase:" <

infile.clear();  // restore stream state so I/O may proceed

infile.seekg (0);  // seek "get" to file start (byte #0)

while (!infile.eof())

customerTree.addRecursively (new node(infile));  // recursive add

cout<< "Iterative Listing of Recursive Additions\n";

customerTree.writeIteratively (cout);

infile.close();

Note that one of the erase methods could be called by the destructor to perform its function as well.

Test the algorithms thoroughly by modifying the data file several times.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M9534172

Have any Question?


Related Questions in Computer Engineering

One of the basic motivations behind the minimum spanning

One of the basic motivations behind the Minimum Spanning Tree Problem is the goal of designing a spanning network for a set of nodes with minimum total cost. Here we explore another type of objective: designing a spannin ...

Please help me find out how to calculate stock pricewhat is

Please help me find out how to calculate stock price. "What is the price of Company A's stock.We know company A pay dividend twice a year. And its beta=1.5 Government bond's Coupon is 8.8 and Yield is 5%(which one you sh ...

Research and describe a tool that can be used to test for

Research and describe a tool that can be used to test for web server vulnerabilities. This tool can be as simple as a Google Dork or it can be included in a toolkit for performing enumeration. Why is this tool valuable t ...

Question bull studentssidnameagegpabull coursesciddeptid

Question : • students(sid,name,age,gpa) • courses(cid,deptid, description) • professors(ssn,name,address,phone,deptid) • enrollment(sid,cid,section • teaches(cid,section,grade). cid makes reference to the courses table. ...

In a survey of 100 people 40 were casual drinkers event d

In a survey of 100 people, 40 were casual drinkers (event D), and 60 did not drink (event D). Of the ones who drank, 6 had minor headaches. Of the non-drinkers, 9 had minor headaches. Let D represent set of surveyed peop ...

Step 1create a manufacturedproduct class the

Step 1 Create a ManufacturedProduct class. The ManufacturedProduct class is a simplified representation of a product that is being built on an assembly line. The data in a ManufacturedProduct object are as follows: A pri ...

When a 5606g sample of walnuts is burned with excess oxygen

When a 56.06g sample of walnuts is burned with excess oxygen in a bomb calorimeter with a heat capacity of 23.25kJK-1. The temperature of the calorimeter rises fro 17.78C to 94.57C. What is the (Delta)U(rxn) value, in un ...

Need guidance on a c program that1 asks the user to input a

Need guidance on a C++ program that: 1. Asks the user to input a number of cents 2. Calculates and displays the number of quarters, dimes, nickels, and pennies that should be used to reach the value. EX: 67 cents would b ...

Analyse two of the three technologies provided focus

Analyse two of the three technologies provided (focus virtualisation, cloud computing and green computing). Summarise what each of your two selected technologies is, and what the technology does. Explain what improvement ...

Nfs allows the file system on one linux computer to be

NFS allows the file system on one Linux computer to be accessed over a network connection by another Linux system. Discuss the security vulnerabilities of NFS in networked Linux systems, and possible mitigation solutions ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As