Selezione Ordinamento Javascript

| | | | | | | |

L’ordinamento di selezione Java trova l’elemento più piccolo in un elenco e sposta quel valore all’inizio dell’elenco. Questo accade ripetutamente fino a quando tutti gli elementi della prima lista non sono stati ordinati. L’ordinamento della selezione restituisce l’elenco ordinato.

Come si ordina un elenco in Java? Hai alcune opzioni. Un’opzione comune è l’ordinamento per selezione.

In questa guida parleremo di cosa sono gli ordinamenti di selezione e come funzionano. Ti spiegheremo anche come creare un ordinamento di selezione in Java in modo che tu sappia come crearne uno tuo. Cominciamo!

Che cos’è un ordinamento di selezione Java?

Un ordinamento di selezione trova ripetutamente l’elemento minimo in un elenco e lo sposta all’inizio degli elementi non ordinati nella elenco. Questo processo si ripete per ogni elemento in un elenco fino a quando l’elenco non viene ordinato.

Il primo elemento nell’elenco è considerato l’elemento più piccolo. Questo elemento viene confrontato con l’elemento successivo. Se l’elemento successivo è più piccolo, gli elementi si scambiano. Questo algoritmo trova l’elemento minimo fino a quando non viene raggiunto l’ultimo elemento. Quindi, il nostro programma sposta l’elemento più piccolo all’inizio dell’elenco.

In un ordinamento di selezione, un elenco contiene due parti: l’elenco ordinato e l’elenco non ordinato. Man mano che gli elementi vengono ordinati, si spostano dal sottoarray non ordinato al sottoarray ordinato.

Puoi ordinare un elenco in ordine crescente o decrescente.

Quando dovresti usare un ordinamento per selezione?

Gli ordinamenti di selezione sono ottimali quando è necessario ordinare un piccolo elenco. Questo perché esistono modi più efficienti per ordinare elenchi di grandi dimensioni. Gli algoritmi, come un ordinamento di unione, un ordinamento per inserimento e un ordinamento rapido, sono più efficienti di un ordinamento di selezione nella programmazione Java.

Un tipo di selezione dà i risultati migliori quando il controllo di tutti gli elementi dell’array è obbligatorio. Questo sarebbe il caso se pochi o nessuno degli elementi in un elenco venisse ordinato. Gli ordinamenti di selezione di solito superano un ordinamento a bolle, che è più facile da capire.

Come funzionano gli ordinamenti di selezione?

è inutile tentare di implementare un algoritmo in Java senza prima sapere cosa è che vogliamo che il nostro algoritmo faccia. Iniziamo seguendo i passaggi che un ordinamento di selezione richiede per ordinare un elenco in ordine.

Considera il seguente array non ordinato:

1714 912

Gli ordinamenti di selezione impostano il primo elemento come il più piccolo nell’elenco. un valore temporaneo che cambia ogni volta che il nostro programma effettua un confronto.Questo valore è memorizzato nella propria variabile.

minimo = 17


1714912

L’elemento "minimo" viene confrontato con il secondo elemento. Questo elemento si trova nella parte non ordinata dell’array; ogni elemento dopo gli elementi ordinati non è ordinato.

Di che il secondo elemento è più piccolo di " elemento "minimo". In questo caso, il valore dell’elemento "minimo" " l’elemento è impostato sul valore del secondo elemento. 14 è minore di 17, quindi il nostro nuovo valore minimo diventa 14.

minimo = 14


17< /td>14912

Questo processo si ripete per ogni articolo nel nostro elenco. 9 è inferiore a 14. Quindi, il valore di "minimo" diventa 9. 9 non è inferiore a 12, quindi il valore di minimo rimane lo stesso.

Dopo un’iterazione, la nostra lista ha scoperto che 9 è il numero più piccolo. Questo elemento viene spostato all’inizio dell’elenco:

917 1412

Questo processo ricomincia dal primo elemento non ordinato. Quindi, la nostra prossima serie di confronti inizierebbe con 17:

Il nostro elenco ha questo aspetto:

9121714

Questo processo si ripete finché il nostro elenco non viene ordinato. Quando il nostro algoritmo ha terminato l’esecuzione, viene restituito il seguente elenco:

9121417

Il nostro elenco è ordinato in ordine crescente.

Come creare un ordinamento per selezione in Java

Una cosa è sapere come funziona un ordinamento per selezione; è un altro costruirne uno. Codifichiamo un ordinamento di selezione in Java che utilizzi la logica discussa nella procedura dettagliata.

Imposta il programma

Crea un file chiamato selection_sort.java. Inizieremo importando la libreria Java Arrays nel nostro codice:

Utilizziamo questa libreria più avanti nel nostro codice. La usiamo per convertire il nostro array ordinato in una stringa in modo da poterlo stampare sulla console.

Crea una funzione di ordinamento

Successivamente, dichiareremo una classe e creeremo un metodo che esegua il nostro ordinamento di selezione. Aggiungi quanto segue al tuo file selection_sort.java:

Nella nostra classe, abbiamo definito un metodo chiamato sortNumbers che esegue il nostro ordinamento. Iniziamo calcolando la lunghezza del nostro array. Archiviamo la lunghezza del nostro array in una variabile Java.

Quindi creiamo una Java for loop. Questo ciclo scorre ogni elemento della nostra lista. All’interno di questo ciclo for, troviamo l’elemento minimo, che è il primo elemento nell’elenco.

Poi avviamo un altro ciclo for per confrontare l’elemento minimo con ogni elemento nell’elenco.

Se il numero letto dal ciclo for è inferiore al numero minimo , il valore di "minimo" diventa quel numero. Nel nostro ciclo, "numero" rappresenta il valore dell’indice del numero a cui stiamo confrontando il valore minimo.

Una volta che il numero minimo è stato confrontato con ogni numero nell’elenco, il nostro ciclo for interno si interrompe. Il numero minimo viene quindi spostato dopo tutti i numeri ordinati nell’elenco.

Richiama la funzione di ordinamento

Il nostro codice non fa ancora nulla. Non abbiamo ancora chiamato la nostra classe e le abbiamo fornito un elenco da ordinare.

Sotto il metodo sortNumbers nell’elenco, aggiungi il seguente codice:

All’interno del nostro metodo principale abbiamo dichiarato un elenco di elementi da ordinare chiamato toSort. Quindi inizializziamo un’istanza della nostra classe SelectionSort chiamata newSort. Lo usiamo per chiamare il nostro metodo sortNumbers, che ordina i valori nell’array toSort.

Dopo che il metodo sortNumbers è stato eseguito, stampiamo l’array ordinato sulla console.Lo facciamo usando il metodo Arrays.toString(), che converte il nostro array in un elenco di stringhe .

Eseguiamo il nostro codice:

Il nostro elenco è stato ordinato!

Selection Sort Java: Ordina i valori in ordine decrescente

Vale la pena notare che è possibile ordina i valori in ordine decrescente. Per farlo, sostituisci la seguente riga di codice nel tuo metodo sortNumbers:

Con questo codice:

Questo codice verifica se il "minimo" value è maggiore di quello a cui accede il ciclo for. Ciò significa che il valore di "minimo" rifletterà il valore più alto in un elenco anziché il valore più basso.

Per evitare confusione, dovresti rinominare "minimo" a "massimo", se stai ordinando un elenco in ordine decrescente.

L’hai fatto. Hai ordinato un elenco in Java utilizzando l’algoritmo di ordinamento per selezione.

Qual ‚Äã‚Äãè la complessità di un ordinamento per selezione Java?

Ci sono tre complessità temporali che dobbiamo considerare quando valutiamo un algoritmo: caso migliore, caso peggiore e caso medio.

L’ordinamento di selezione ha la complessità del caso migliore, medio e peggiore di O(n^2). Ciò significa che l’algoritmo impiegherà esponenzialmente più tempo man mano che il numero degli elementi in un elenco cresce.

Sei confuso dalla complessità degli algoritmi? Dai un’occhiata alla nostra serie in due parti sulla notazione Big O. Questa è la notazione che usiamo per descrivere la complessità degli algoritmi.

Conclusione

Gli ordinamenti di selezione sono un metodo efficiente per ordinare gli elenchi di dati. Funzionano selezionando l’elemento più piccolo da un elenco non ordinato e spostandolo all’inizio dell’elenco non ordinato. Questo processo si ripete finché l’elenco non viene ordinato.

Vuoi diventare uno sviluppatore Java? Consulta la nostra Guida all’apprendimento di Java. In questa guida troverai i migliori suggerimenti per l’apprendimento e consigli sui migliori corsi online e risorse di apprendimento.

Selezione Ordinamento Javascript exp: Questions

Selezione Ordinamento Javascript find: Questions

Shop

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method