【发布时间】:2021-03-22 04:13:59
【问题描述】:
当你想计算归并排序的运行时间时,将startTime放在调用mergeSort函数之前或调用之后是正确的:
startTime=System.nanoTime();
mergeSort(temp,0,temp.length - 1);
endTime=System.nanoTime();
running-time=(endTime-startTime);
或
mergeSort(temp,0,temp.length - 1);
startTime=System.nanoTime();
endTime=System.nanoTime();
duration=(endTime-startTime);
哪个是正确的,因为结果不同?
【问题讨论】:
-
第一个是正确的,第二个与mergeSort的时间无关
-
开始时间和结束时间之间的差异仅说明在两次调用
nanoTime()之间发生的程序操作。
标签: java arrays algorithm sorting mergesort