2015-09-26 44 views
0

下面是一个锻炼,我挣扎:确定M的值,M是否取决于k?

的一种方式,以提高快速排序的性能是切换到 插入排序,当一个子文件具有< = M元素,而不是递归调用本身。

针对M个或更少元素的子文件实施递归QuickSort并将其截断为InsertionSort。根据经验确定M的值,对于K = 10,100,1000,10000,100000,1000000,它对于小于K的60000个随机自然数的输入执行最少的关键比较。最佳值M是否取决于K?

我的问题: 我想知道M的值是否与语句1和语句3.不同,如果是这样,这将是数组的大小,以及如何改变随机数?如何比较M和K?我有任何数学方程吗?或者我应该使用我的代码来完成它?

+3

'实证determine'听起来好像是你应该尝试一下,看看。 –

回答

2
  1. 根据要求实施排序算法。
  2. 添加支持记录比较次数(例如增加全局)
  3. 为每个k生成5组输入数据。所以30个文件总共有180万行。
  4. 为每个K运行每一组的排序并猜测M几次。从低价值投入开始,让你在猜测高价值投入时引导你的猜测。
  5. 详细说明您的意见对M的超过K.
  6. 影响传递运动像亲