算法时间复杂度计算

新手上路,请多包涵

请问有人知道下面算法的时间复杂度是多少吗?,如果知道,希望您能及时的帮一下忙。如果没有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;
}

阅读 3.4k
1 个回答
新手上路,请多包涵

O(n^2)
你可以认为Big O Notation表示的是最坏情况下的时间复杂度。
最坏情况所有dataItem都不相等,循环内部会执行大概 n^2/2 + n/2次。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题