Program:-
Write an algorithm to find the "next" node (i.e. in-order successor ) of a given node in a binary search tree . You may assume that each node has a link to its parent.
Code:-
#include<bits/stdc++.h>
using namespace std;
int a[50],k=0;
struct node
{
int data;
node *left ,* right;
};
struct node * root=NULL;
node * CreateNode()
{
node *temp;
temp=new node;
return temp;
}
void BinarySearchTree(int a)
{
struct node *temp,*t;
temp=CreateNode();
temp->data=a;
temp->left=NULL;
temp->right=NULL;
if(root==NULL)
root=temp;
else
{
t=root;
while(t!=NULL)
{
if(t->data>a)
{
if(t->left==NULL)
{
t->left=temp;
t=t->left;
}
t=t->left;
}
else
{
if(t->right==NULL)
{
t->right=temp;
t=t->right;
}
t=t->right;
}
}
}
}
void InorderTraversal(node *t)
{
if(t)
{
InorderTraversal(t->left);
a[k]=t->data;
k++;
InorderTraversal(t->right);
}
}
int main()
{
int n;
int b;
cout<<"Enter the number of nodes "<<endl;
cin>>n;
cout<<"Enter the values of nodes"<<endl;
for(int i=0;i<n;i++)
{
cin>>b;
BinarySearchTree(b);
}
InorderTraversal(root);
cout<<"Enter the node "<<endl;
cin>>b;
for(int i=0;i<k;i++)
{
if(b==a[i])
{
cout<<"Successor of "<<a[i]<<" is "<<a[i+1];
}
}
return 0;
}
Output:-
Enter the number of nodes
7
Enter the values of nodes
10 8 51 7 9 42 61
Enter the node
51
Successor of 51 is 61
Recommended Post:-
- Hackerearth Problems:-
- Very Cool numbers | Hacker earth solution
- Vowel Recognition | Hackerearth practice problem solution
- Birthday party | Hacker earth solution
- Most frequent | hacker earth problem solution
- program to find symetric difference of two sets
- cost of balloons | Hacker earth problem solution
- Chacha o chacha | hacker earth problem solution
- jadu and dna | hacker earth solution
- Bricks game | hacker earth problem
- Anti-Palindrome strings | hacker earth solution
- connected components in the graph | hacker earth data structure
- odd one out || hacker earth problem solution
- Minimum addition | Hackerearth Practice problem
- The magical mountain | Hackerearth Practice problem
- The first overtake | Hackerearth Practice problem
Hackerrank Problems:-Data structure:-- Playing With Characters | Hackerrank practice problem solution
- Sum and Difference of Two Numbers | hackerrank practice problem solution
- Functions in C | hackerrank practice problem solution
- Pointers in C | hackerrank practice problem solution
- Conditional Statements in C | Hackerrank practice problem solution
- For Loop in C | hackerrank practice problem solution
- Program to find cycle in the graph
- Implementation of singly link list
- Implementation of queue by using link list
- Algorithm of quick sort
- stack by using link list
- program to find preorder post order and inorder of the binary search tree
- Minimum weight of spanning tree
- Preorder, inorder and post order traversal of the tree
MCQs:-
0 Comments