Come eseguire l'ordinamento di unione in Java?



Questo articolo su Merge Sort in Java ti aiuterà a capire come ordinare un elenco di elementi utilizzando merge sort con l'aiuto di un programma di esempio.

Hai mai sentito parlare del termine 'Divide and Conquer'? Questo articolo è basato in modo specifico su questo approccio. Unisci ordinamento è un algoritmo di 'divide et impera' in cui prima suddividiamo il problema in sottoproblemi e poi li uniamo per ottenere la nostra soluzione. Ecco una panoramica completa del concetto di merge sort in J .

Cominciamo!





Cos'è l'ordinamento di unione in Java?

Merge sort è uno dei più popolari algoritmi di ordinamento disponibile e segue un approccio divide et impera. Un problema è suddiviso in sotto-problemi e combinati insieme per raggiungere la soluzione finale!

Ora, cosa succede esattamente durante la lavorazione del merge sort? Cerchiamo di capire in dettaglio.



Lavoro di merge sort

Ci sono due passaggi seguiti dall'ordinamento di unione durante il processo:

  • Dividere: In questo passaggio, l'array di input è diviso in 2 metà, il pivot è il punto medio dell'array. Questo passaggio viene eseguito in modo ricorsivo per tutti i mezzi array fino a quando non ci sono più mezzi array da dividere ulteriormente.
  • Conquistare: In questo passaggio, ordiniamo e uniamo gli array divisi dal basso verso l'alto e raggiungiamo il nostro array ordinato.

Questo approccio ti aiuta a ordinare facilmente le sottoparti dei problemi prima e, quindi, a raggiungere la soluzione.

Lascia che ti mostri una rappresentazione pittorica di merge sort.



quale metodo della classe scanner legge una stringa

Esempio: diagramma

Merge Sort - Edureka

Qui, hai visto come appare un ordinamento di unione. Il concetto principale di merge sort è che richiede meno tempo per l'ordinamento. Ora, passiamo alla nostra parte di implementazione!

Implementazione

pacchetto MyPackage public class MergeSort {void merge (int arr [], int beg, int mid, int end) {int l = mid - beg + 1 int r = end - mid int LeftArray [] = new int [l] int RightArray [] = nuovo int [r] per (int i = 0 i

Produzione:
Matrice ordinata
uno
4
17
22
2. 3
40
Quattro cinque
51
55
90

Ecco come appare un codice Java che rappresenta l'ordinamento di unione. Andando verso il segmento successivo.

Complessità

La complessità si divide in due tipi: complessità temporale e complessità spaziale. In caso di merge sort, i dati sono come mostrato di seguito:

Complessità

Caso migliore

Case nella media

Peggiore caso

classe di archiviazione c ++

Complessità temporale

O (n log n)

O (n log n)

O (n log n)

Complessità spaziale

-

-

Su)

Con questo, concluderò questo articolo. Spero che i contenuti spiegati sopra abbiano aggiunto valore alla tua conoscenza di Java. Continueremo ad esplorare insieme il mondo Java. Rimanete sintonizzati!

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo ' Unisci ordinamento in Java 'E ti ricontatteremo il prima possibile.