神话人月传播路径真的是n ^ 2吗?

时间:2009-08-07 14:13:16

标签: algorithm communication sdlc

不会更接近:

n * (n - 1) / 2

以上公式是这个中学数学团队问题的答案:

“你在一个房间里有n个人,他们都和其他人握手。发生了多少次握手?”

这不也适用于在软件项目中进行通信的人数吗?

声明

我还没有读过这本书,但我看到其他地方引用的n^2公式。

6 个答案:

答案 0 :(得分:13)

如果你 读了这本书,你就不会问这个问题了。这就是它实际上说的内容:

  

如果项目中有 n 个工作人员,则有(n ^ 2-n)/ 2个接口可能存在通信,并且可能存在2 ^ n个必须进行协调的团队。

对于那些参加主场比赛的人来说,这可以在第7章的大型项目组织项目标题下。

所以答案是你是对的,但这本书也是如此。

答案 1 :(得分:11)

神话人月指的是整体算法效率,通过无穷远附近的行为来衡量。

n *(n-1)/ 2 = O(n ^ 2)

答案 2 :(得分:10)

你是对的。然而,虽然我自己没有读过这本书,但听起来他们试图给出一个增长顺序,而不是一个确切的数字。 n *(n-1)/ 2是一个增长为O(n ^ 2)的函数。请参阅Big-O Notation

答案 3 :(得分:1)

我认为不同之处在于握手一次发生并且对两个人都很重要。可以从任何一个人开始与队友进行交流,因此您最终会计算两次路径,每个发起者一次。

根据我的个人经验,有些人(我刚刚决定称之为UberCommunicators)可能会因为与他们沟通的固有成本而将因素提高一个数量级。他们往往非常冗长,无法陈述简明点,而且通常很难继续执行任务。获得有用的对话需要在很长一段时间内反复进行。

答案 4 :(得分:0)

我认为你已经过分了。这个神秘的人月不是像21天学习如何编程Ruby的计​​算机书。这是一本关于团队如何互动的商业书籍。因此,它将人视为人,而不是机器。这意味着近似和启发式是一天的顺序,而不是算法和精度。

请(请,请,请)记住将您的队友视为人,而不仅仅是另一台计算机。它将为更愉快的工作环境和更好的项目创造条件。

答案 5 :(得分:0)

我不清楚这本书的内容,所以把我的副本从书架上取下来。你可能会高兴地了解到,在第2章 - 这也是给这本书命名的文章 - 布鲁克斯实际上确实说通信路径的数量是n(n - 1)/ 2,与你说的相符。因此,正如其他人所说,我怀疑n ^ 2“引用”只是沿着O(n)符号的简化。