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

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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;
BSTNede
right;
// BSTNode parent:
BSTNode (T d) :
data(d), left (0), right (0)/, parent (0) / 0
// invariant 1:
// (left
// invariant 2:
// (right! null) inplies (data < right.data)
};
null) implies (left.data <- data)
template <class T>
struct BSTree {
BSTNode <T>
root;
unsigned int size:
BSTree ()
BSTNode <T>
BSTNode <T>
BSTNode <T>
BSTNode <T>
root (NULL), size (0) ()
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 BSTNode { T data; BSTNode left; BSTNede right; // BSTNode parent: BSTNode (T d) : data(d), left (0), right (0)/, parent (0) / 0 // invariant 1: // (left // invariant 2: // (right! null) inplies (data < right.data) }; null) implies (left.data <- data) template <class T> struct BSTree { BSTNode <T> root; unsigned int size: BSTree () BSTNode <T> BSTNode <T> BSTNode <T> BSTNode <T> root (NULL), size (0) () 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
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education