сортировка многомерного массива в порядке возрастания:
Вы можете сортировать массив multi-d по строкам или столбцам.
Если вы не хотитеВыровняйте массив, который преобразует его в 1-й, тогда это означает, что вам придется проходить каждую строку или столбец в зависимости от вашего выбора и применять быструю сортировку (лучшую производительность для небольшого набора данных, если оптимально выбран сводный) или сортировку слиянием.
Таким образом, вы можете сделать оба в (с учетом среднего случая) O(nlogn)
и сказать, что есть n строк или n столбцов, сложность времени будет O(n^2(logn))
.
Теперь выше предположениячто вы хотите сортировать либо по строкам, либо по столбцам.Если вы хотите получить оба (строку и столбец), то лучше преобразовать массив в 1-й, а затем применить сортировку и затем преобразовать ее обратно.В противном случае, следуя вышеприведенному подходу, временная сложность может пойти O(n^2(logn))
, но в другом случае она будет O((n+m)log(n+m))
, где n
amd m
- нет.строк и столбцов в массиве плюс O(n+m)
сложность пространства.
По моему мнению, иметь немного пространственной сложности, чтобы вы могли сократить время выполнения, предпочтительнее.