Domanda

Stavo cercando di analizzare Radix Ord in termini di tempo e spazio. Supponiamo che ci vengano dati numeri interi da $ n $ 32 bit che vorremmo ordinare guardando prima le cifre almeno significative.

$ k $ è l'importo totale dei bit con cui lavorerai ad ogni passaggio. Quindi all'inizio guardi i primi $ k $ bit e ordina gli elementi con il conteggio. Quindi guardi i prossimi $ k $ bit ecc.

In totale dovremmo eseguire il conteggio di ordinamento $ frac {32} {k} $ volte. Nella fase di ordinamento del conteggio dovremo entrambi scansionare l'array di input e anche l'array di benna, in cui l'array di input è di dimensioni $ n $ e l'array di bucket è di taglia $ 2^k $. In altre parole, il tempo di esecuzione sarà $ theta ( frac {32} {k} (n+2^k)) $. Per quanto riguarda lo spazio, avremo bisogno di una gamma extra temporanea di dimensioni $ n $ durante la fase di ordinamento del conteggio e anche un array per il secchio, quindi in totale lo spazio sarà $ theta (2n + 2^k) $

Quindi abbiamo:

Tempo: $ theta ( frac {32} {k} (n+2^k)) $

Spazio: $ theta (2n + 2^k) $

Sono l'unico che non riesce a capire perché questo è $ o (n) $?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top