You have given 2 array. You need to find whether they will
create the same BST or not.
For example:
Array1:10 5 20 15 30
Array2:10 20 15 30 5
Result: True
Array1:10 5 20 15 30
Array2:10 15 20 30 5
Result: False
One Approach is Pretty Clear by creating BST O(nlogn) then
checking two tree for identical O(N) overall O(nlogn) ..we
need there exist O(N) Time & O(1) Space also without extra
space .Algorithm ??
DevoCoder
guest
Posted 3 months ago #
#define true 1
#define false 0
int check(int a1[],int a2[],int n1,int n2)
{
int i;
//n1 size of array a1[] and n2 size of a2[]
if(n1!=n2) return false;
//n1 and n2 must be same
for(i=0;i<n1-1;i++)
{
if( !( (a1[i]>a1[i+1]) && (a2[i]>a2[i+1]) )
) return false;
}
return true;//assumed that each array doesn't contain
duplicate elements in themshelves
}
No Answer is Posted For this Question
Be the First to Post Answer
What are the 4 types of unions?
Is r written in c?
What are dangling pointers in c?
what is y value of the code if input x=10 y=5; if (x==10) else if(x==9) elae y=8; a.9 b.8 c.6 d.7
What is the use of getchar functions?
Which is the memory area not included in C program? give the reason
what's the o/p int main(int n, char *argv[]) { char *s= *++argv; puts(s); exit(0); }
program to find error in linklist.(i.e find whether any node point wrongly to previous nodes instead of next node)
Is it valid to address one element beyond the end of an array?
what is structuer?
how to find the given number is prime or not?
wite a programme in c to linear search a data using flag and without using flags?