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 BSTNode ( T data; BSTNede left; BSTNede right: // BOTNode parent; BSTNode (T d) : data (d), left (0), right (0)/, parent (0) / 0 // invariant 1 (left null) implies (left.data struct B8Tree ( BSTNode unsigned int size: root; BSTree () root (NULL), size (0) () insert (T d); find (T d); min(); BSTNode BSTNode BSTKode BSTNode next (BSTNode current); void renove (BSTNode node); //invariant: // (root null) equiv (size -- 0) }; Implement the innert and find methods. innert 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.

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 BSTKode {
T data;
BSTNode left;
BSTNederight:
// BSTNode. parent:
BSTNode (T d) :
data (d), left (0), right (0)/, parent (0) / 0
// invariant 1:
// (left
// invariant 2:
// (right
};
null) implies (left.data <- data)
null) inplies (data right.data)
template <class T>
struct BSTree {
BSTNode <T>
root;
unsigned int size:
BSTree () root (NULL), size (0) ()
BSTNode <T>
BSTNode <T>
BSTNode <T>
BSTNode <T>
insert (T d);
find (T d);
min();
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 BSTKode { T data; BSTNode left; BSTNederight: // BSTNode. parent: BSTNode (T d) : data (d), left (0), right (0)/, parent (0) / 0 // invariant 1: // (left // invariant 2: // (right }; null) implies (left.data <- data) null) inplies (data right.data) template <class T> struct BSTree { BSTNode <T> root; unsigned int size: BSTree () root (NULL), size (0) () BSTNode <T> BSTNode <T> BSTNode <T> BSTNode <T> insert (T d); find (T d); min(); 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
steps

Step by step

Solved in 4 steps with 5 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