【发布时间】:2014-03-02 04:35:03
【问题描述】:
当我准备介绍算法课的期中考试时,我正在检查教授之前发布的一些测试,我发现了这个问题:
计算 gcd(312,455) 有两种方法:求每个数的因式分解,以及使用欧几里得算法。每种方法的复杂性是多少?
他的回答是:
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)
他是如何解决复杂问题的?
【问题讨论】:
-
你达到了什么样的复杂性,以及如何达到的?
-
我不认为整数分解的难度与输入的平方成比例,因此您可能需要解释“复杂性”的含义
标签: algorithm complexity-theory big-o analysis