찾다

 >  Q&A  >  본문

c++ - 算法时间复杂度计算

请问有人知道下面算法的时间复杂度是多少吗?,如果知道,希望您能及时的帮一下忙。如果没有if 语句,单纯的两个嵌套循环,可以知道时间 复杂度为O(n^2),
for (i = 0; i < num; i++)
{
for (int j = 0; j < num; j++)
if (dataItem[i] == dataItem[j])
{
cou++;
if (cou > num / 2)
break;
}
if (cou > num / 2)
break;
}

PHP中文网PHP中文网2803일 전542

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 15:04:41

    O(n^2)
    Big O 표기법은 최악의 시간 복잡도를 나타내는 것으로 생각하면 됩니다.
    최악의 경우 모든 dataItem이 동일하지 않으며 루프는 대략 n^2/2 n/2회 실행됩니다.

    회신하다
    0
  • 취소회신하다