Devo modellare il piano di esecuzione di ordinare un elenco di 5 elementi, in python, utilizzando il numero minimo di confronti tra elementi. Oltre a ciò, la complessità è irrilevante.Ordinamento di 5 elementi con confronto di elementi minimi
Il risultato è un elenco di coppie che rappresentano i confronti necessari per ordinare l'elenco in un altro momento.
So che c'è un algoritmo che fa questo in 7 confronti (tra elementi, sempre, non complessità-saggio), ma non riesco a trovare una versione leggibile (per me).
Come posso ordinare i 5 elementi in 7 confronti e creare un "piano di esecuzione" per l'ordinamento?
PD: non compiti.
Caso peggiore, caso migliore, caso medio? –
Non è quello che stavi cercando, ma ero curioso, quindi ho appena controllato: sulle 120 permutazioni del range (5), il numero di permutazioni per cui il 'ordinato' incorporato usa ogni numero di confronti è: 4: 2, 6: 5, 7: 33, 8: 56, 9: 24. – Dougal
Solo curioso, che cosa ha a che fare Knuth con questo? – Yunchi