我正在尝试计算合并排序算法在排序列表时所做的比较次数。我尝试了多种方法,但由于递归,我总是返回一个基本上与列表大小相同的答案。关于如何计算比较次数的任何建议?
答案 0 :(得分:1)
我可以想到两个解决方案:
将计数器声明为全局变量。您可以使用global counter
。
下面:
mergesort(lefthalf)
mergesort(righthalf)
您不使用返回的比较计数器。如果你做了类似的事情:
count += mergesort(lefthalf)
count += mergesort(righthalf)
您将获得比较计数。每次拨打mergesort()