合并排序的计数比较

R 的 Brian Scalabrine

我正在尝试计算合并排序算法在对列表进行排序时进行的比较次数。我尝试了多种方法,但由于递归,我总是返回一个基本上是列表大小的答案。关于如何计算比较次数的任何建议?

贡佐尔

我可以想到两种解决方案:

  1. 不那么漂亮,但更容易实现。

将计数器声明为全局变量。您可以在您的函数中使用global counter.

  1. 避免全局变量

这里:

mergesort(lefthalf)
mergesort(righthalf)

您不使用返回的比较计数器。如果你做这样的事情:

count += mergesort(lefthalf)
count += mergesort(righthalf)

您将获得比较计数。记住每次调用时用 0 初始化计数器mergesort()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章