subject
Engineering, 29.02.2020 01:00 quece233

I need help writing these functions for my code. In the homework this week you started reading and programming binary search trees. The one missing piece was inserting into a binary search tree; we'll take care of that today and write the insert function, as well as a height function. Both functions will be implemented in the "bst. h" header file, and tested using a provided main program in "main. cpp".Step one is to implement the insert function --- go ahead and modify "bst. h", adding the necessary code to (1) allocate a new node, and (b) link it into the tree. Once you have insert implemented, test your work using Codio's interactive terminal window. In this exercise we are building a tree of strings, with "#" as the sentinel. Example:#Size: 6Inorder: apple aunt dad mom pizza uncleHeight: 3You'll know the tree is built properly if the inorder output is in sorted order --- if not, then your insert function is not linking the new nodes into the tree correctly. Ignore the height for now (which is probably displayed as -1).Once insert is working, step two is to implement the height function in "bst. h". Since height needs to recursively traverse the entire tree, you'll want to take a public-private approach where a private helper function does the actual work of computing the height. Here is the main. cpp:#include #include #include "bst. h"using namespace std;int main(){binarysearchtree tree;string key; 1. Inputs values from the keyboard and builds a binary search// tree; reads input until the sentinel ("#") is input. The// resulting binary search tree is returned.//cin >> key;while (key != "#"){tree. insert(key);cin >> key;} 2. Output size and contents (in order)://cout << "Size: " << tree. size() << endl;tree. inorder(); 3. Output height://cout << "Height: " << tree. height() << endl;// done:return 0;}Here is the bst. h:#pragma once#include #include // std::maxusing namespace std;templateclass binarysearchtree{private:struct NODE{TKey Key;NODE* Left;NODE* Right;};NODE* Root; // pointer to root node of tree (nullptr if empty)int Size; // # of nodes in the tree (0 if empty) _inorder does the actual inorder traversal and output// to console. Each key is output to the console followed// by " ", including the last key.//void _inorder(NODE* cur){if (cur == nullptr)return;else{_inorder(cur-&g t;Left);cout << cur->Key << " ";_inorder(cur->Right);}}public: default constructor: Creates an empty tree.//binarysearchtree(){Root = nullptr;Size = 0;} size: Returns the # of nodes in the tree, 0 if empty.//int size(){return Size;} height Computes and returns height of tree; height of an empty tree is// defined as -1.//int height(){ TODO:// return -1;} search: Searches the tree for the given key, returning true if found// and false if not.//bool search(TKey key){NODE* cur = Root;while (cur != nullptr){if (key == cur->Key) // already in treereturn true;if (key < cur->Key) // search left:{cur = cur->Left;}else{cur = cur->Right;}}//while // if get here, not foundreturn false;} insert Inserts the given key into the tree; if the key has already been insert then// the function returns without changing the tree.//void insert(TKey key){NODE* prev = nullptr;NODE* cur = Root; 1. Search to see if tree already contains key://while (cur != nullptr){if (key == cur->Key) // already in treereturn;if (key < cur->Key) // search left:{prev = cur;cur = cur->Left;}else{prev = cur;cur = cur->Right;}}//while 2. if we get here, key is not in tree, so allocate// a new node to insert: TODO: allocate a new node, store key, initialize// pointer fields: 3. link in the new node: NOTE: cur is null, and prev denotes node where// we fell out of the tree. if prev is null, then// the tree is empty and the Root pointer needs// to be updated. TODO: link in the new node, updating Root// pointer as appropriate 4. update size and we're done:// TODO://} inorder: Performs an inorder traversal of the tree, outputting// the keys to the console.//void inorder(){cout << "Inorder: ";_inorder(Root);cout << endl;}};

ansver
Answers: 2

Another question on Engineering

question
Engineering, 04.07.2019 18:10
Abrake has a normal braking torque of 2.8 kip in and heat-dissipating cast-iron surfaces whose mass is 40 lbm. suppose a load is brought to rest in 8.0 s from an initial angular speed of 1600 rev/min using the normal braking torque; estimate the temperature rise of the heat dissipating surfaces.
Answers: 3
question
Engineering, 04.07.2019 18:20
The characteristic roots of a dynamic system are: 1.7920 1.8160 i, -1.7920 1.8160 i, -0.4160 what is the order of this system? what are the settling time and damping ratio of the system?
Answers: 3
question
Engineering, 04.07.2019 18:20
Modern high speed trains do not have perpendicular expansion gaps where rails are joined end-to-end any more they are mostly welded together but what might happen if there was a spell of particularly hot weather that causes inspection of the tracks?
Answers: 1
question
Engineering, 04.07.2019 18:20
Refrigerant-134a enters the compressor of a refrigerator as superheated vapor at 0.14 mpa and -10Β°c at a rate of 0.05 ka/s and leaves at 0.8 mpa and 50Β°c. the refrigerant is cooied in the condenser to 0.72 mpa and 26'c. it is then throttled to 0.15 mpa. sketch the t-s diagram for the system and evaluate: 6) the rate of heat removai from the refrigerated space (kw), it) the power input to the compressor (kw), ii) the isentropic efficiency of the compressor (%), and iv) the cop of the refrigerator.
Answers: 2
You know the right answer?
I need help writing these functions for my code. In the homework this week you started reading and p...
Questions
question
English, 13.11.2019 03:31
question
Geography, 13.11.2019 03:31
Questions on the website: 13722359