Ho la mia definizione di "ordinamento" di una sequenza.
Data qualsiasi sequenza [a, b, c, ...] la confrontiamo con la sequenza ordinata contenente gli stessi elementi, contiamo il numero di corrispondenze e lo dividiamo per il numero di elementi nella sequenza.
Ad esempio, data la sequenza [5,1,2,3,4]
procediamo come segue:
1) ordina la sequenza: [1,2,3,4,5]
2) confrontare la sequenza ordinata con l'originale spostandola di una posizione alla volta e contando il numero massimo di corrispondenze:
[5,1,2,3,4]
[1,2,3,4,5] one match
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] 4 matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
...
[5,1,2,3,4]
[1,2,3,4,5] no matches
3) Il numero massimo di partite è 4, possiamo calcolare la "ordinamento" come 4/5 = 0,8.
L'ordinamento di una sequenza ordinata sarebbe 1 e l'ordinamento di una sequenza con elementi disposti in ordine inverso sarebbe 1 / n.
L'idea alla base di questa definizione è stimare la quantità minima di lavoro che dovremmo fare per convertire qualsiasi sequenza nella sequenza ordinata. Nell'esempio sopra abbiamo bisogno di spostare solo un elemento, il 5 (ci sono molti modi, ma lo spostamento di 5 è il più efficiente). Quando gli elementi sarebbero posizionati in ordine inverso, dovremmo spostare 4 elementi. E quando la sequenza è stata ordinata, non è necessario alcun lavoro.
Spero che la mia definizione abbia un senso.