Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> Quicktime >> .

Qual è la grande notazione dell'algoritmo QuickSort in termini di complessità del tempo?

Ecco la rottura della complessità del tempo di QuickSort in Big O Notation:

* Caso migliore: O (n log n)

* Ciò si verifica quando il perno scelto ad ogni passaggio divide l'array in metà approssimativamente uguale. Questo porta a un albero di ricorsione equilibrato.

* Caso medio: O (n log n)

* In media, QuickSort funziona molto bene. La selezione dei perni non deve essere perfetta per ottenere prestazioni quasi ottimali.

* Caso peggiore: O (n^2)

* Questo accade quando il perno è costantemente l'elemento più piccolo o più grande nell'array. Questo porta a un albero di ricorsione altamente sbilanciato in cui un sottoproblema ha la taglia 0 e l'altro ha la taglia N-1. In sostanza, si degrada a prestazioni simili all'ordinamento di selezione o alla bolle. Uno scenario comune è quando l'array di input è già ordinato o quasi ordinato.

Note importanti

* QuickSort randomizzato: Una variazione di QuickSort che seleziona casualmente il perno riduce significativamente la probabilità di incontrare lo scenario peggiore. QuickSort randomizzato ha una complessità temporale media e prevista di O (n log n).

* Ordinamento nel posto: QuickSort è un algoritmo di smistamento sul posto (richiede una memoria extra minima, di solito O (log n) per lo stack di ricorsione).

* Performance pratiche: Nonostante la possibilità di un caso peggiore (n^2), QuickSort è spesso molto efficiente nella pratica e viene spesso utilizzato nelle funzioni di smistamento della libreria standard. I suoi vantaggi includono la sua natura sul posto e i fattori costanti relativamente piccoli.

* Confronto con l'ordinamento di unione: L'ordinamento di unione ha una complessità temporale O (n log n) garantita in tutti i casi, ma non è sul posto (richiede spazio ausiliario O (n)). Pertanto, QuickSort è spesso preferito quando lo spazio è una delle principali preoccupazioni e i dati dovrebbero essere ragionevolmente ben distribuiti.

In sintesi:

| Caso | Complessità temporale |

| ------------- | ----------------- |

| Migliore | O (n log n) |

| Media | O (n log n) |

| Peggiore | O (n^2) |

 

software © www.354353.com