不会更接近:
n * (n - 1) / 2
以上公式是这个中学数学团队问题的答案:
“你在一个房间里有n个人,他们都和其他人握手。发生了多少次握手?”
这不也适用于在软件项目中进行通信的人数吗?
声明
我还没有读过这本书,但我看到其他地方引用的n^2
公式。
答案 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)符号的简化。