中期的にアルゴリズムクラスを紹介する準備をしているときに、教授が投稿した以前のテストをいくつか試しましたが、次の質問が見つかりました。
gcd(312,455)を2つの方法で計算します。各数値の因数分解を見つける方法と、ユークリッドのアルゴリズムを使用する方法です。各アプローチの複雑さは何ですか?
彼の答えは:
gcd(455,312) = gcd(312,143) = gcd(143,26) = gcd(26,13) = gcd(13,0) = 13
factors(312)= {2, 3, 13} factors(455)= {5, 7, 13}
複雑さ:
- gcd-
log(n)
- 要因-
sqrt(n)
彼はどのようにして複雑さに到達したのですか?