c++ - 算法时间复杂度计算
PHP中文网
PHP中文网 2017-04-17 15:02:41
0
1
536

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

认证高级PHP讲师

全員に返信(1)
洪涛

O(n^2)
Big O 表記は、最悪の場合の時間計算量を表すものと考えることができます。
最悪の場合、すべての dataItem が等しくないため、ループは約 n^2/2 + n/2 回実行されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート