私は計算の複雑さ、BigOh 記法などの研究を始めており、整数因数分解アルゴリズムを実行してその複雑さを判断する任務を負っていました。アルゴリズムを作成して動作していますが、複雑さの計算に問題があります。擬似コードは次のとおりです。
DEF fact (INT n)
BEGIN
INT i
FOR (i -> 2 TO i <= n / i STEP 1)
DO
WHILE ((n MOD i) = 0)
DO
PRINT("%int X", i)
n -> n / i
DONE
DONE
IF (n > 1)
THEN
PRINT("%int", n)
END
私がやろうとしたことは、非常に間違っていると思います。
f(x) = n-1 + n-1 + 1 + 1 = 2n
それで
f(n) = O(n)
因数分解アルゴリズムは計算が難しいと考えられており、多項式にすることさえできないため、これは間違っていると思います。それで、あなたは私を助けるために何を提案しますか? 多分私は夜のこの時間に疲れすぎて、これをすべて台無しにしています:(
前もって感謝します。