how to find out the union of two character arrays?

Answer Posted / om

Input: str1 (size M), str2 (size N)
Output:- Union_string str3.

1. Take a auxillary interger array of size 128 and
initialize all its's enteries to zero.(becoz All printable
chacter has value in the range [0,127]. so 128)
int Aux[128]={0}; //O(128) TIME

2. set Couter = strlen(str1) + strlen(str2) +1 ;//extra one
for '\0' character..

3. now scan the first string str1 and put 1 on the index
value equal to str1[i] in auxillary array.If there were
already 1,then Counter--;
Aux[str1[i]]=1; //O(M) TIME

4. now scan the second string str2 and put 1 on the index
value equal to str2[i] in auxillary array.Similar to step 3.
If there were already 1,then Counter--;
Aux[str2[i]=1; //O(N) TIME

5. Now alloacte a memory of size equal to "Counter" for our
resulting union string str3.
char *str3=(char*)malloc(Counter);

6. now again scan the str1 followed by str2. and if any 1 is
found in Aux[str1[i]] or Aux[str2[i]] make it 0. and put
that character to union string str3.

int k=0;
for(int i=0; str1[i]!='\0' ;i++) //O(M)
if(Aux[str1[i]] ==1)
{
str3[k++]=str1[i];
Aux[str1[i]] =0;
}

for(int i=0; str2[i]!='\0' ;i++) //0(N)
if(Aux[str2[i]] ==1)
{
str3[k++]=str2[i];
Aux[str2[i]] =0;
}
str3[k]=\0';


and return str3.


// SO TOTAL O(MAX(M,N)) TIME COMPLEXITY ALGORITHM USING
CONSTANT SPACE OF SIZE 128.

Is This Answer Correct ?    2 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How can I list all of the predefined identifiers?

572


Explain what is wrong with this statement? Myname = ?robin?;

988


What does char * * argv mean in c?

617


Why do we use & in c?

580


What is a double c?

580






How many bytes are occupied by near, far and huge pointers (dos)?

660


What is the use of function in c?

702


praagnovation

1771


Write an algorithm for implementing insertion and deletion operations in a singly linked list using arrays ?

3046


How can I do graphics in c?

586


What is main return c?

509


What are the application of c?

637


Is c programming hard?

569


Why is it important to memset a variable, immediately after allocating memory to it ?

1546


Describe the complexity of Binary search, Quicksort and various other sorting and searching techniques..

640