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

【字号: 日期:2023-04-04浏览:32作者:雯心

问题描述

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

问题解答

回答1:

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

相关文章: