Ingegneria civile e strutturale
Calcolo del tempo e della complessità spaziale in unione e rapido ordinare gli algoritmi
Table of Contents
Comprendere la complessità temporale e spaziale degli algoritmi aiuta a valutare la loro efficienza. Unisci la sorta e la rapida selezione sono due algoritmi di selezione popolari con caratteristiche di prestazioni diverse.
Complesso di unisci
La combinazione di unione divide l'array in metà ricorsivamente fino a quando ogni subarray contiene un singolo elemento. Il processo di fusione poi combina questi subarray in ordine ordinato.
La complessità temporale di unione è O(n log n) nei casi migliori, medi e peggiori perché divide costantemente l'array e lo fonde in modo efficiente.
La complessità dello spazio è O(n) a causa della necessità di array temporanei durante il processo di fusione.
Complessità di ordine rapido
La selezione rapida seleziona un elemento pivot e le partizioni dell'array in subarray che sono inferiori o superiori al pivot.
La complessità media del tempo è O(n log n)[], ma nel peggiore dei casi, come quando l'elemento più piccolo o più grande è sempre scelto come il perno, si degrada a O(n^2)].
La complessità dello spazio per una rapida ordinazione è generalmente [O(log n)] a causa dello spazio di stack ricorrente, ma può essere più alto a seconda dell'implementazione.
Sintesi delle complessità
- Ordinare un'operazione - tempo: O(n log n), spazio: O(n)]
- Ordina rapida - tempo: Average O(n log n), peggio O(n^2), spazio: [O(log n)]