Нотация Big O для алгоритма сопоставления строк

Какова будет большая нотация функции foo?

int foo(char *s1, char *s2)
{
   int c=0, s, p, found;
   for (s=0; s1[s] != '\0'; s++)
   {
      for (p=0, found=0; s2[p] != '\0'; p++)
      {
         if (s2[p] == s1[s])
         {
            found = 1;
            break;
         }
      }
      if (!found) c++;
   }
   return c;
}

Какова эффективность функции foo?

a) O (n!)

b) O (n ^ 2 )

c) O (n lg (base2) n)

d) O (n)

Я бы сказал O (MN) ...?

6
задан Bill the Lizard 19 September 2012 в 01:52
поделиться