Lab 5: Binary Search Tree
Implement operations for a Binary Search Tree class starting
from the template provided under the PolyLearn assignment, using
the class TreeNode that is also provided. You may (should)
implement helper methods that make your code easier to write, read,
and understand. You will also need to write test cases of your own
as you develop the methods. You may use iterative and/or recursive
functions in your implementation.
The following starter files are available .
•...
Implement a function to remove a leaf node from a binary search
tree. Using the following class and function definition:
class BTNode {
public:
int item;
BTNode *left;
BTNode *right;
BTNode(int i, BTNode *l=nullptr, BTNode *r=nullptr):item(i),left(l),right(r){}
};
BTNode *root = nullptr;
BTNode * remove_leaf(int item, bool &removed) {
// implement
}
The remove function will return the node with the item if it's
present in the tree. If the node is a leaf node and is removed by
the function,...
In C++
Consider the binary search tree implementation in file
bintree.cp
a)Add to the TreeNode class a pointer to the
parent node. Modify the insert and erase functions to properly set
those pointers.
b)Then define a TreeIterator class that contains a
pointer to a TreeNode and has member functions get and next.
i)The iterator’s get member function should return
the data value of the node to which it points.
ii)The iterator’s next member function should find
the next element in...
Implement a function to find a node in a binary search tree.
Using the following class and function definition. If a node with a
matching value is found, return a pointer to it. If no match is
found, return nullptr.
#include <iostream>
class BTNode {
public:
int item;
BTNode *left;
BTNode *right;
BTNode(int i, BTNode *l=nullptr, BTNode
*r=nullptr):item(i),left(l),right(r){}
};
BTNode *root = nullptr;
BTNode *find(int item)
{
//implement code here
return nullptr;
}
int main()
{
root = new...
Consider the following type of binary trees:
data Tree a = Leaf a | Node (Tree a) (Tree a)
A tree is balanced if the number of leaves in the left and right
subtree of every node differ by at most one. Write a
Haskell function balanced that
returns whether a tree is balanced or not.
balanced :: Tree a -> Bool
java.
Consider a binary tree with integer values in its nodes,
implement a method that returns the sum of the values contained in
all of the nodes of the binary tree with root n.Hint: use
recursion.
C++
Build a binary tree using a binary tree class member function
from the following array of preorder traversal 3,9,20,15,7 and
inorder traversal 9,3,15,20,7. Implement the constructor,
destructor and all member functions including print postorder
traversal of the binary tree.
0, 3, 11, 24, 36, 47, 42, 53, 56, 59, 52, 58, 50, 64, 63, 61,
65, 78, 89, 91
A. Calculate the mean, median, and mode.
B. Which measure, mean or median, best describes the central
tendency of this data? Why?
Make the following assumptions: Assume a binary search tree
holds integer numbers Write a pseudocode for a binary tree search
algorithm that searches in the tree (starting at root) for a node
which meets the following requirements, and prints a message when
found:
(a) has a value that is one third as large as either its left or
right child node. Think carefully about what steps are needed to do
the search, and review the insert and search methods for...