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.
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
Related questions
Question
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images
Knowledge Booster
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.Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning