Załóżmy, że mam n
-wymiarową tablicę liczb całkowitych (dla n=1
jest to wektor, dla n=2
jest to prostokątna matryca, dla n=3
jest to równoległościan itp.). Muszę zmienić kolejność elementów tablicy tak, aby elementy w każdym wierszu, kolumnie itp. Były w porządku malejącym.Czy zawsze można zamówić wielowymiarową tablicę we wszystkich wymiarach? W jaki sposób?
- Czy jest to możliwe dla dowolnej tablicy wejściowej?
Czy wymagana kolejność jest unikalna dla dowolnej tablicy wejściowej?Właśnie uświadomiłem sobie, że odpowiedź na to pytanie ogólnie jest no, np. dla kwadratowych matryc.- Czy wymagana kolejność jest unikalna dla dowolnej tablicy wejściowej o różnych długościach we wszystkich wymiarach?
- Jaki jest najszybszy algorytm do wykonania wymaganego zamówienia?
Czy możesz precyzyjniej zdefiniować "uporządkowanie"? –
Tak więc, dla tablicy 2D liczb całkowitych, chcesz największą liczbę całkowitą w prawym dolnym rogu? Wydaje mi się, że sortowanie każdej kolumny, a następnie każdy rząd da takie uporządkowanie. Jestem pewien, że jest na to szybszy sposób. –
"Zamiana" ZiyaoWei oznacza "przestawienie", "wstawienie tych samych elementów to (być może) inna kolejność". Innymi słowy, wynikowa tablica musi zawierać te same liczby całkowite, z tą samą wielokrotnością (w przypadku gdy liczba całkowita pojawia się wiele razy w różnych pozycjach w tablicy wejściowej), ale możliwe, że w różnych położeniach (brak, jeden, niektóre lub wszystkie elementy elementu). wskaźniki mogą się zmienić). –