Ingegneria civile e strutturale
Metodi pratici per il calcolo del numero di confronti in unione
Table of Contents
La combinazione di un'unica specie è un algoritmo di selezione basato su un confronto popolare noto per la sua efficienza e le sue prestazioni prevedibili. Capire come calcolare il numero di confronti che fa può aiutare a ottimizzare la sua implementazione e analizzare le sue prestazioni in scenari diversi.
Concezione di base di fusione
La combinazione di un insieme divide un array in subarray più piccoli, ordina ogni subarray e poi li fonde insieme. L'operazione principale comporta il confronto degli elementi durante il processo di fusione, che determina il numero totale di confronti fatti.
Calcolo dei confronti durante la fusione
Durante il passaggio di fusione, si verificano confronti quando si seleziona l'elemento più piccolo da due subarray ordinati. Per ogni coppia di elementi confrontati, si contano un confronto. Se i subarray hanno dimensioni n1 e ]]n2], il numero massimo di confronti necessari per fonderli è [[1FLT +:42]
Stime dei confronti totali
Il numero totale di confronti in una sorta di fusione può essere approssimato analizzando ogni operazione di fusione su tutti i livelli di ricorsione. Per una serie di dimensioni []n, i confronti totali sono approssimativamente:
- n log2 n[]] nel caso medio e peggiore.
- Ogni livello di ricorsione comporta la fusione di subarray, con i confronti totali che si sommano a tutti i livelli.
- Il numero di confronti per livello raddoppia mentre i subarray crescono più grandi.
Metodo pratico di calcolo
Per calcolare i confronti praticamente, simulare il processo di fusione o utilizzare la relazione ricorsiva:
C(n) = C( ⁇ n/2 ⁇ ) + C( ⁇ n/2 ⁇ ) + (n - 1)
C(n)[]]] è il confronto totale per una serie di dimensioni [[]]. Questa formula ricorsiva rappresenta i confronti nei subarray e durante la fusione.