3

我正在用 Pascal 编程。

读取数组然后对其进行排序(例如使用快速排序)或在读取数组时对其进行排序是否更快?我不再需要未排序的数组,所以我可以在阅读时更改数组的顺序。

4

3 回答 3

1

最后对整个数组进行排序应该是默认选择。

通过在阅读数组时对数组进行增量排序,您将一无所获。但是,您失去的是为工作选择最佳排序算法的灵活性。

于 2013-03-04T10:44:59.117 回答
0

看到这个:快速排序与插入排序的平均时间复杂度

就好像您在阅读时进行排序一样,它将是插入排序,问题是哪种排序更快。

读取只需要 o(n) 时间,并且比排序复杂度 (O(nlogn)) 更短,因此使读取变得无关紧要

于 2013-03-04T10:28:31.903 回答
0

读取整个数组,然后对其进行排序。否则,您将需要使用堆在读取期间将其保持在有序结构中,或者在任何其他需要更多空间和时间的结构中。

于 2013-03-04T15:42:04.223 回答