Con mia sorpresa, non sono stato in grado di trovare documenti su questo - probabilmente ho cercato le parole chiave sbagliate.
Quindi, abbiamo una matrice di qualsiasi cosa e una funzione sui suoi indici; è una permutazione.
Come riordinare l'array secondo con memoria e runtime il più vicino possibile a e ?
Ci sono condizioni aggiuntive quando questa attività diventa più semplice? Ad esempio, quando sappiamo esplicitamente che una funzione è l'inverso di ?
Conosco un algoritmo che segue i cicli e attraversa un ciclo per ogni indice per verificare se è il minimo nel suo ciclo, ma ancora una volta ha il tempo di esecuzione peggiore dei casi , anche se in media sembra comportarsi meglio ...