как отсортировать массив, когда каждое число может быть записано как n ^ i + j менее чем за nlogn время - PullRequest
0 голосов
/ 17 мая 2019

Мне был дан массив целых чисел A[1,2,...n], каждое число в массиве можно описать формулой: n^i + j, где logn >= i >= 1 и n > j >= 0, оба i и j являются целыми числами.

Меня попросили предоставить алгоритм сортировки массива в 2 ситуациях:

  1. даны оба значения i и j, каждое число представлено как (i, j)

  2. и i, и j неизвестны, числа указаны в массиве.Алгоритмы должны запускаться за асимптотическое время, равное меньше чем nlogn

Я попытался представить каждое число в пути i*n+j, а затем использовать радикальную сортировку,но это не время.Я также пытался представить каждое число в виде i*constant+j, но затем я могу получить более одного числа с одной и той же репрезентацией, даже если они разные.

...