首先,映射两个框架似乎是微不足道的事——就是分析阶段、里程碑、迭代和工件的问题。
At first, mapping both frameworks seems a trivial task — a matter of analyzing the phases, milestones, iterations, and artifacts.
敏捷,尤其是短迭代,可帮助你尽早发现问题。
Agile, and specifically short iterations, help you discover problems early.
同样,也可以通过在迭代期间锁定集合防止这个问题。
Again, this can be prevented by locking the collection for the duration of iteration.
And I'm going to show you an example in a 1 second, just to drive this home, but notice the characteristics. In the first two cases, the problem reduced by 1 at each step.
在前面两个例子里,每一部问题的规模缩小了,不管是迭代的还是递归的,这表明这个问题的复杂性可能是线性的。
OK. I know. It looks boring. But it's a structure of the things I want to think about when I go through trying to take a problem and mapping it into a iterative program.
好,我知道这看起来有点无聊,但是这是我要去以迭代的方式,去解决一个问题采取的,措施的大致结构。
> So now that might not have felt like the fastest algorithm but think about what you could have done with that algorithm in each iteration, much like the phonebook up front here, you literally split that problem in two because on each iteration roughly half of you were sitting down and then another half and then another half.
虽然这并不是最快的算法,但如果把这种算法每次迭代,就像刚才查电话簿一样,你便将这个问题一分为二了,因为每一次迭代后只有一半坐下来,以此类推。
应用推荐