这要求是什么?

时间:2011-02-22 05:52:50

标签: sorting complexity-theory

现在让B(n)为bubbleSort排序n个元素所需的时间。设Q(n)是quickSort对n个元素进行排序所需的时间。设M(n)为mergeSort所需的时间。排序n个元素。在Word文档或文本文件中,使用您在1)2)3)和4)中开发的函数创建以下数据的表格,您的程序将生成这些数据。

n      B(n)   B(n)/n^2 ......... etc i just need to know what this is asking for
1000                        
2000                        
4000                        
8000                        
16000                       

一个问题是B(n)要求的是什么?我已经完成编码,它显示了我的交换次数和交换次数。我需要秒表来计时吗?!?!

我只是得不到它的要求

4 个答案:

答案 0 :(得分:0)

您可以使用与时间相关的功能来实现秒表。

然而,根据我的经验,这样的家庭作业通常会要求进行比较而不是实际时间。实际时间因环境而异。

答案 1 :(得分:0)

根据我的理解,问题要求您说明算法需要为每个输入集执行多少操作。

例如,如果插入排序为O(n ^ 2),则为

 n     O(n^2)    ...
1000  1000000
2000  2000000
4000  4000000
.
.
.

答案 2 :(得分:0)

“使用您在1)中开发的功能2)3)和4)”

如果你在1,2,3,4中开发它们,你必须有非常精确的B(n)定义 - 使用那些而不是这里建议的那些。它们应该看起来像n上的多项式,具有整数系数和幂。

答案 3 :(得分:0)

如果你的成绩很好:

您的作业提到了您创建的程序,可能是您实现了列出的算法。添加一些计时代码,用于在执行1000,2000,4000,8000,16000项的排序之前和之后打印系统标记。然后减去差异,并将时间放入答案表。

然后做其他人说的话,用理论上的“大O”答案创建一个新的答案表。

理想情况下,您将两者都叠加为图表,以突出理论与实施之间的差异。