Tejas Gitkhane Roll No.: S511042
Tejas Gitkhane Roll No.: S511042
Div. :A
Batch : A2
Experiment 5
Implement a binary search tree with following operation: insertion, deletion and searching or tree
traversing.
#include <iostream>
class Node {
public:
int data;
Node* left;
Node* right;
};
class BST {
private:
Node* root;
if (!node) {
return node;
return node;
node = node->left;
return node;
if (!node) {
return node;
else
if (!node->left) {
delete node;
return temp;
else if (!node->right)
delete node;
return temp;
// Node with two children: Get the inorder successor (smallest in the right
subtree)
return node;
if (node) {
inOrder(node->left);
inOrder(node->right);
}
public:
BST() : root(nullptr) {}
void inOrder() {
inOrder(root);
};
int main() {
BST tree;
tree.insert(50);
tree.insert(30);
tree.insert(20);
tree.insert(40);
tree.insert(70);
tree.insert(60);
tree.insert(80);
tree.inOrder();
tree.deleteNode(20);
tree.inOrder();
tree.deleteNode(30);
tree.inOrder();
tree.deleteNode(50);
tree.inOrder();
if (result) {
} else {
return 0;
}
OUTPUT: