Salve a tutti ! Quest'oggi ho intenzione di cominciare la prima di una lunga serie (o almeno si spera) di guide relative al linguaggio di programmazione JAVA.
Questa guida è per UTENTI SEMI-AVANZATI, quindi se non hai nessuna conoscenza del linguaggio trattato ti sconsiglio di leggerla o di tentare di capirne qualcosa.
Piuttosto comincia con l'aprire i libri e comincia a studiare da 0, qui non parleremo delle basi.
In breve, Cos'è Java ?
In poche parole:
In informatica Java è un linguaggio di programmazione ad alto livello, orientato agli oggetti e a tipizzazione statica, specificatamente progettato per essere il più possibile indipendente dalla piattaforma di esecuzione.
Detto questo, cominciamo con la prima guida:
ARRAY E I LORO ORDINAMENTI
In breve, sappiamo che un array è un insieme di elementi disposti in delle "celle".
Pensiamo ad esempio ad un array di interi:
Come potrete notare dal primo all'ultimo blocco di celle i numeri vengono ORDINATI. E' proprio questo quello che faremo in questa guida. Vedere e scoprire i metodi (A livello di codice e pseudocodice) con i quali possiamo ordinare elementi in JAVA. Ovviamente ricorda che gli array di interi non sono l'unica cosa che può essere ordinata, ma di questo ne parleremo in caso più avanti.
Quindi, ecco le tipologie più conosciute di ordinamenti:
BUBBLE SORT
Ecco l' implementazione in java dell' algoritmo :
SELECTION SORT
Implementazione del codice Java:
INSERTION SORT
Implementazione codice Java:
MERGE SORT (Il più complicato da comprendere)
In questo caso spezziamo la descrizione e il codice in quanto è da affrontare prima capendo e poi programmando.
Passiamo ora al codice:
QUICK SORT
Passiamo ora al codice:
Per oggi è tutto, spero di essere stato chiaro e preciso. Ci si vede in una prossima guida !
Questa guida è per UTENTI SEMI-AVANZATI, quindi se non hai nessuna conoscenza del linguaggio trattato ti sconsiglio di leggerla o di tentare di capirne qualcosa.
Piuttosto comincia con l'aprire i libri e comincia a studiare da 0, qui non parleremo delle basi.
In breve, Cos'è Java ?
- Java è una tecnologia utilizzata per lo sviluppo di applicazioni che rendono il Web più divertente e utile. Java è diverso da JavaScript in quanto quest'ultimo è una semplice tecnologia utilizzata per la creazione di pagine Web e viene eseguita solo nel browser.
- Java consente di giocare, caricare foto, chattare in linea, eseguire presentazioni virtuali e utilizzare servizi, ad esempio formazione in linea, home banking e mappe interattive. Se non si dispone di Java, molte applicazioni e siti Web non funzionano.
In poche parole:
In informatica Java è un linguaggio di programmazione ad alto livello, orientato agli oggetti e a tipizzazione statica, specificatamente progettato per essere il più possibile indipendente dalla piattaforma di esecuzione.
Detto questo, cominciamo con la prima guida:
ARRAY E I LORO ORDINAMENTI
In breve, sappiamo che un array è un insieme di elementi disposti in delle "celle".
Pensiamo ad esempio ad un array di interi:

Come potrete notare dal primo all'ultimo blocco di celle i numeri vengono ORDINATI. E' proprio questo quello che faremo in questa guida. Vedere e scoprire i metodi (A livello di codice e pseudocodice) con i quali possiamo ordinare elementi in JAVA. Ovviamente ricorda che gli array di interi non sono l'unica cosa che può essere ordinata, ma di questo ne parleremo in caso più avanti.
Quindi, ecco le tipologie più conosciute di ordinamenti:
BUBBLE SORT
Tra i piú semplici algoritmi di ordinamento abbiamo il Bubble Sort, che in italiano significa naturalmente ordinamento a bolle, e già il nome dovrebbe dirci tutto, almeno.
Il meccanismo si basa infatti sull 'idea di far emergere man mano (come bollicine) gli elementi minori all' inizio del vettore mentre contemporaneamente quelli maggiori si posizionano in fondo al vettore.
Il meccanismo si basa infatti sull 'idea di far emergere man mano (come bollicine) gli elementi minori all' inizio del vettore mentre contemporaneamente quelli maggiori si posizionano in fondo al vettore.


Iterativo:
Ricorsivo:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ricorsivo:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ecco l' implementazione in java dell' algoritmo :
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
SELECTION SORT
Il Selection Sort è un altro algoritmo di ordinamento decisamente semplice ed intuitivo. L' idea di base si fonda nel selezionare ad ogni iterazione l' i-esimo valore piú piccolo, e sostituirlo con quello che in quel momento occupa l' i-esimaposizione.


Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Implementazione del codice Java:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
INSERTION SORT
L' Insertion Sort é un' altro noto e semplice algoritmo di ordinamento che si basa sul concetto di ordinamento per inserzione, simile al modo in cui un essere umano, spesso, ordina un mazzo di carte.


Iterativo:
Ricorsivo:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Implementazione codice Java:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
MERGE SORT (Il più complicato da comprendere)
In questo caso spezziamo la descrizione e il codice in quanto è da affrontare prima capendo e poi programmando.
Il Merge Sort (ordinamento per fusione) a differenza degli algoritmi visti in precedenza, é un algoritmo di ordinamento piú complesso, ma molto efficiente, infatti come vedremo ha una complessitá computazionale bassa.
Il meccanismo di ordinamento di questo algoritmo fa uso della tecnica Divide et Impera. Di questa tecnica ci sarebbe molto da dire, purtroppo ció esula dallo scopo di questa guida. Diciamo brevemente che é una tecnica che consiste nel suddividere ricorsivamente un problema complesso in due o piú sotto-problemi piú semplici e poi si ricombinano le soluzioni trovate per ricostruire la soluzione del problema complessivo.
Vediamo nei dettagli il meccanismo di ordinamento del Merge Sort : il metodo riceve un vettore con n elementi, se n ha una dimensione accettabile (che fissiamo a 20) viene ordinato con l 'Insertion Sort (scegliamo questo algoritmo poiché per piccole dimensioni di n ha buone prestazioni), altrimenti si scompone (Divide) il vettore in due parti uguali (se la dimensione é dispari la prima metà contiene un elemento in più) e su ogni meta del vettore viene richiamato ricorsivamente il metodo. Alla fine dell' invocazione dei due metodi le due sottoparti ordinate vengono fuse (Impera) con il metodo merge in un unico vettore ordinato.
Il meccanismo di ordinamento di questo algoritmo fa uso della tecnica Divide et Impera. Di questa tecnica ci sarebbe molto da dire, purtroppo ció esula dallo scopo di questa guida. Diciamo brevemente che é una tecnica che consiste nel suddividere ricorsivamente un problema complesso in due o piú sotto-problemi piú semplici e poi si ricombinano le soluzioni trovate per ricostruire la soluzione del problema complessivo.
Vediamo nei dettagli il meccanismo di ordinamento del Merge Sort : il metodo riceve un vettore con n elementi, se n ha una dimensione accettabile (che fissiamo a 20) viene ordinato con l 'Insertion Sort (scegliamo questo algoritmo poiché per piccole dimensioni di n ha buone prestazioni), altrimenti si scompone (Divide) il vettore in due parti uguali (se la dimensione é dispari la prima metà contiene un elemento in più) e su ogni meta del vettore viene richiamato ricorsivamente il metodo. Alla fine dell' invocazione dei due metodi le due sottoparti ordinate vengono fuse (Impera) con il metodo merge in un unico vettore ordinato.


Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Passiamo ora al codice:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
QUICK SORT
Il Quicksort è un algoritmo ricorsivo di ordinamento in place non stabile. Appartiene alla classe degli algoritmi divide et impera (che abbiamo già visto in altri ordinamenti sopra citati), dal momento che scompone ricorsivamente i dati da processare in sottoprocessi. Tale procedura ricorsiva viene comunemente detta partition: preso un elemento chiamato "pivot" da una struttura dati (es. array) si pongono gli elementi minori a sinistra rispetto al pivot e gli elementi maggiori a destra. L'operazione viene quindi reiterata sui due insiemi risultanti fino al completo ordinamento della struttura.

Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Passiamo ora al codice:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Per oggi è tutto, spero di essere stato chiaro e preciso. Ci si vede in una prossima guida !
SE QUALCOSA NON E' CHIARO FAMMI PURE UNA DOMANDA NEI COMMENTI O LASCIA UNA VALUTAZIONE. E SE TI VA, RISPONDI AL SONDAGGIO IN CIMA ALLA GUIDA. GRAZIE !
Guida numero: 01
Prodotta da: xXxsimo
Codice: Java
Guida adatta a: Programmatori non alle primissime armi
Titolo: Array e come ordinarli
Difficoltà lezione: 7/10
Prodotta da: xXxsimo
Codice: Java
Guida adatta a: Programmatori non alle primissime armi
Titolo: Array e come ordinarli
Difficoltà lezione: 7/10
Ultima modifica: