Come implementare il BubbleSort

tramite: O2O
Difficoltà: media
16

Introduzione

L'attività di realizzazione di piccoli o complessi progetti software è molto problematica e difficile. Così, potrete finire la vostra attività di ordinare i dati da trattare. Sono tante le tecniche per farlo. Ce ne sono di più efficienti e di meno; altre ne facilitano questa operazione. Con questa guida riuscirete a capire come implementare uno degli algoritmi è il Bubblesort. Tale metodo si basa su un principio del tutto naturale.

26

Occorrente

  • Libro sulla complessità degli algoritmi
  • studio del metodo bubblesort
  • studio dei vettori
36

L'algoritmo

L'algoritmo si basa sul principio del confronto e dello scambio ad ogni passo. Praticamente, se considerate l'i-esimo elemento i, e lo considerate con l'elemento adiacente, i+1 ad ogni passo. Se il suo adiacente è più piccolo, allora farete uno scambio. In caso contrario proseguirete anche per gli altri elementi. Dopo il primo controllo, finite di considerare l'elemento posto nella prima posizione. Dovrete implementare, a questo punto, la seconda.

46

L'elemento i-esimo

Se l'elemento i-esimo è più grande scambiate di posto per memorizzare l'elemento. Una volta terminato il paragone di elementi fate diminuire la variabile fine per implementare bubblesort. Così, ridurrete il numero di elementi. Avrete quindi implementato il metodo bubblesort in modo corretto. Come per ogni algoritmo, studiate la complessità del metodo per comprendere l'efficienza. Questo algoritmo, effettuerà un numero di accostamenti a (N^2)/2. Mentre il numero di scambi sarà uguale a (N^2)/2. In definitiva, è un algoritmo con una complessità temporale ad N^2. In questo caso il tempo di esecuzione aumenta del doppio rispetto al numero complessivo di elementi da trattare. Farete così con tutti gli elementi presenti. Introducete il principio base di come implementare l'algoritmo di ordinamento. Per prima cosa, scrivete l'intestazione del metodo sort per poi identificare il tipo di ritorno e i parametri richiesti. Tale metodo non restituirà alcun parametro in quanto lavorerete direttamente sul vettore da ordinare. Si dovrà ricevere un vettore d'interi per applicare il metodo da implementare bubblesort.

Continua la lettura
56

Le variabili

Prendete due variabili intere. La prima è la tmp che servirà come buffer per effettuare lo scambio degli elementi e la seconda, fine, con tutti gli elementi del vettore. Usate un ciclo while, impostate la condizione di uscita che permetterà di far terminare il processo. Ponete adesso che wihle (fine > 0) e sarà vera finché avrete altri elementi da verificare. Con un apposito ciclo for, così definito for (int i=0; i < fine; i++). Verificate ogni elemento del vettore e impostate la condizione del raffronto. Adesso controllate la posizione (i) che sia più grande di quello dell' i+1.

66

Consigli

Non dimenticare mai:
  • Il metodo è poco utile in presenza di una grossa mole di dati da ordinare. Tale algoritmo, viene sostituito da tecniche più rapide ed ottimali nella risoluzione del problema dell'ordinamento.

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Come implementare gli alberi in C

In informatica per rappresentare dei dati si usano le strutture dati. Le strutture dati sono dei metodi per organizzare dati. A seconda delle operazioni che vogliamo fare su un insieme di dati, possiamo scegliere una struttura dati invece che un'altra....
Programmazione

Realizzare una semplice finestra grafica in Java

Java è un linguaggio di programmazione interamente dedicato agli oggetti ed offre costrutti utili, semplici e intuitivi per gestire ed implementare la totalità dei compiti che un programmatore desidera. La guida di oggi vuole mostrare come realizzare...
Programmazione

Guida alla programmazione a basso livello

In questa guida tratteremo della programmazione a basso livello. Nei vari passi successivi all'introduzione vi rilascio molte informazioni molto utili che vi aiuteranno certamente a programmare sempre meglio a basso livello. Un consiglio che vi dò e...
Programmazione

Come realizzare un'agenda personalizzata

Mediante tale tutorial vi spiegheremo come realizzare un'agenda personalizzata usando il linguaggio di programmazione Java. Lo scopo che vi vogliamo far capire è quello senza l'uso dell'interfaccia grafica, e quindi quello della struttura di un'agenda...
Programmazione

Come spostare un file in Java

Spostare i file in Java potrebbe sembrare inizialmente un'operazione complessa, ma con un po' di attenzione potremo farlo semplicemente da soli, senza dunque rivolgerci ad un tecnico informatico specializzato. Così facendo, non solo potremo imparare...
Programmazione

Il metodo di ordinamento Quicksort

Chiunque di noi (programmatori) si è trovato davanti alla necessità di dover ordinare dei dati, e sappiamo che, siano essi pochi o molti, il coefficiente di difficoltà per risolvere il problema rimane lo stesso. Proprio per agevolare la vita a chiunque...
Programmazione

Come imparare a programmare in C++

L'avvento del computer, ha richiesto la creazione di appositi linguaggi per facilitare la comunicazione tra utente e macchina. I linguaggi sono aumentati di numero e via via è aumentata anche la facilità di comunicazione tra questi due canali. Si parla...
Programmazione

Come Scrivere Su Schermo In Linguaggio C

Il linguaggio C è un linguaggio di programmazione classificabile come 'general purpose', nel senso che non è specifico per applicazioni particolari (gestionali, scientifiche, ludiche, ecc.), ma risulta adatto per la maggior parte delle esigenze informatiche....
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.