我正在用 Pascal 编程。
读取数组然后对其进行排序(例如使用快速排序)或在读取数组时对其进行排序是否更快?我不再需要未排序的数组,所以我可以在阅读时更改数组的顺序。
我正在用 Pascal 编程。
读取数组然后对其进行排序(例如使用快速排序)或在读取数组时对其进行排序是否更快?我不再需要未排序的数组,所以我可以在阅读时更改数组的顺序。
最后对整个数组进行排序应该是默认选择。
通过在阅读数组时对数组进行增量排序,您将一无所获。但是,您失去的是为工作选择最佳排序算法的灵活性。
看到这个:快速排序与插入排序的平均时间复杂度
就好像您在阅读时进行排序一样,它将是插入排序,问题是哪种排序更快。
读取只需要 o(n) 时间,并且比排序复杂度 (O(nlogn)) 更短,因此使读取变得无关紧要
读取整个数组,然后对其进行排序。否则,您将需要使用堆在读取期间将其保持在有序结构中,或者在任何其他需要更多空间和时间的结构中。