L'algoritmo di ordinamento del bucket è attivo?
L'algoritmo di ordinamento del bucket è attivo?

Video: L'algoritmo di ordinamento del bucket è attivo?

Video: L'algoritmo di ordinamento del bucket è attivo?
Video: Algoritmi di ordinamento - Riassunto 2024, Novembre
Anonim

No, non è un in- luogo ordinamento algoritmo . L'idea è che l'input tipi se stessi mentre vengono trasferiti al secchi . Nel peggiore dei casi positivi (valori sequenziali, ma nessuna ripetizione) lo spazio aggiuntivo necessario è grande quanto l'array originale.

In questo modo, quali algoritmi di ordinamento sono in atto?

Come altro esempio, molti algoritmi di ordinamento riorganizzano gli array in un ordine sul posto, tra cui: sorta di bolla , ordinamento a pettine, ordinamento a selezione, ordinamento di inserimento , heapsort e Shell sort. Questi algoritmi richiedono solo pochi puntatori, quindi la loro complessità spaziale è O(log n). Quicksort opera sul posto sui dati da ordinare.

Successivamente, la domanda è: come funziona un algoritmo di ordinamento dei bucket? Ordinamento del secchio , o ordinamento del cestino , è un algoritmo di ordinamento Quello lavori distribuendo gli elementi di un array in un numero di secchi . Ogni benna è poi smistato individualmente, o usando un diverso algoritmo di ordinamento , o applicando ricorsivamente il Algoritmo di ordinamento del secchio . Imposta un array di inizialmente vuoto " secchi ".

Di conseguenza, come si implementa un algoritmo di bucket sort?

  1. Supponiamo che l'array di input sia: Crea un array di dimensione 10.
  2. Inserisci elementi nei bucket dall'array. Gli elementi vengono inseriti in base alla portata della benna.
  3. Gli elementi di ogni bucket vengono ordinati utilizzando uno degli algoritmi di ordinamento stabili.
  4. Gli elementi di ogni secchio vengono raccolti.

Dove viene utilizzato l'ordinamento a secchio?

Ordinamento del secchio è utile principalmente quando l'input è distribuito uniformemente su un intervallo. Si consideri ad esempio il seguente problema. Ordinare un ampio insieme di numeri in virgola mobile compresi nell'intervallo da 0,0 a 1,0 e distribuiti uniformemente nell'intervallo.

Consigliato: