このアルゴリズムの時間の複雑さと、それがなぜO(n^2)なのかを助けてくれる人は誰でも助けてください。ステップバイステップの説明は役に立ちます、ありがとう!分割アルゴリズム - 時間の複雑度
function divide(x,y)
Input: Two n-bit integers x and y, where y >= 1
Output: The quotient and remainder of x divided by y
if x = 0:
return (q,r) = (0,0)
(q,r) = divide(x/2, y)
q = 2q
r = 2r
if x is odd:
r = r + 1
if r >= y:
r = r - y
q = q + 1
return (q,r)
コードに "code formating"を追加できますか?今は読むのがむずかしいです。 – Skurmedel
説明が必要 - 算術演算は、基本データ型(intなど)またはそれらの配列(BigInt int配列など)で動作していますか? – paxdiablo
いいえ、その過去の試験問題と私は今後の試験のために改訂しています。私はここに解決策を持っているが、私はそれを理解していない: 私たちは1ビットを失うアルゴリズムの各呼び出しで。だから、 n + 1コールがあります。各呼び出しは、最大で2回の乗算(左シフト)、2つの加算を1で行い、yを減算することはすべてO(n)である。したがって、合計は です。複雑さはO(n2) – KP65