2 Binary search tree Consider the following BSTNode structure that represents a binary search tree node, and the BSTree structure that represents a binary search tree. The root pointer points to the root node, and size book-keeps the number of items in the binary search tree. template struct BSTSede ( T data; BSTode left; BSTNederight: // BSTde parent; BSTNode (T d) : data (d), left (0), right (0)/, parent (0) / () // invariant 1 // (left taull) implies (left.data data) // invariant 2: (right sull) implies (data right.data) }; template struct BSTree ( BSTKode root; unsigned int size: BSTree () root (NULL), size (0) () BSTode insert (7 d); BSTKode find (T 4); min(); BSTKode BSTNode next (BSTBode current); void renove (BSTode node); //invariant: (root sull) equiv (size -- 0) Implement the insert and find methods. insert should insert element d in the tree, and find takes an element d and returns a pointer to the node that has d as value if it exists. Otherwise, it returns NULL. Implement the min, and next methods. min returns a pointer to the BSTNode with the minimum element in the tree, and next takes a pointer current to a BSTNode and returns the node that is next in order to current. Test the insert, min and next by inserting n integers into a BST and then retrieve them by calling in once followed by n-1 calls to next.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 13PE
icon
Related questions
Question
C++
2 Binary search tree
Consider the following BSTNode structure that represents a binary search tree node, and the BSTree
structure that represents a binary search tree. The root pointer points to the root node, and size
book-keeps the number of items in the binary search tree.
template <class T>
struct BSTNode (
T data;
BSTNode left;
BSTNode right;
// BSTNode. parent;
BSTNode (T d) :
data (d), left (0), right (0)/, parent (0) / 0
// invariant 1:
// (left
// invariant 21
(right! null) inplies (data < right.data)
};
aull) implies (left.data <- data)
template <class T>
struct BSTree (
BSTNode <T>
root;
unsigned int size:
BSTree ()
BSTNode <T>
BSTNode <T>
BSTNode <T>.min();
root (NULL), size (0) ()
insert (T d);
find (T d);
BSTNode <T>next (BSTNode <T> current);
void renove (BSTNode <T> node);
//invariant:
// (root = null) equiv (size -- 0)
};
Implement the insert and find methods. insert should insert element d in the tree, and
find takes an element d and returns a pointer to the node that has d as value if it exists.
Otherwise, it returns NULL.
• Implement the min, and next methods. min returns a pointer to the BSTNode with the
minimum element in the tree, and next takes a pointer current to a BSTNode and returns the
node that is next in order to current.
• Test the insert, min and next by inserting n integers into a BST and then retrieve them by
calling min once followed by n-1 calls to next.
Transcribed Image Text:C++ 2 Binary search tree Consider the following BSTNode structure that represents a binary search tree node, and the BSTree structure that represents a binary search tree. The root pointer points to the root node, and size book-keeps the number of items in the binary search tree. template <class T> struct BSTNode ( T data; BSTNode left; BSTNode right; // BSTNode. parent; BSTNode (T d) : data (d), left (0), right (0)/, parent (0) / 0 // invariant 1: // (left // invariant 21 (right! null) inplies (data < right.data) }; aull) implies (left.data <- data) template <class T> struct BSTree ( BSTNode <T> root; unsigned int size: BSTree () BSTNode <T> BSTNode <T> BSTNode <T>.min(); root (NULL), size (0) () insert (T d); find (T d); BSTNode <T>next (BSTNode <T> current); void renove (BSTNode <T> node); //invariant: // (root = null) equiv (size -- 0) }; Implement the insert and find methods. insert should insert element d in the tree, and find takes an element d and returns a pointer to the node that has d as value if it exists. Otherwise, it returns NULL. • Implement the min, and next methods. min returns a pointer to the BSTNode with the minimum element in the tree, and next takes a pointer current to a BSTNode and returns the node that is next in order to current. • Test the insert, min and next by inserting n integers into a BST and then retrieve them by calling min once followed by n-1 calls to next.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Knowledge Booster
Binomial Heap
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning