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

I just typed in this program, and it is acting strangely. Can you see anything wrong with it?

736


What is a nested formula?

754


Can a function be forced to be inline? Also, give a comparison between inline function and the C macro?

842


Explain what are reserved words?

818


What are the complete rules for header file searching?

828






How can I avoid the abort, retry, fail messages?

832


In C programming, what command or code can be used to determine if a number of odd or even?

794


Can math operations be performed on a void pointer?

727


How can type-insensitive macros be created?

882


List the different types of c tokens?

794


What is the deal on sprintf_s return value?

803


What is the use of typedef in structure in c?

684


What are header files why are they important?

776


Explain what is the difference between far and near ?

825


What is the use of ?

791