Implementiamo degli algoritmi e strutture di dati in Java 5.0

322px-Java LogoSalve ragazzi oggi ricominciata l’Universit… vediamo un po se riusciamo a studiare insieme… magari bloggando le cose che faccio mi entrano meglio in testa e forse mi preparer meglio per gli esami oltre al fatto che cos dovr studiare quasi tutti i giorni per poter scrivere l’articolo ;)

Vi parler di un corso molto bello riguardante Laboratorio di Algoritmi e Strutture Dati (da ora in poi conosciuto con il tag LASD) nel quale vedremo come implementare in Java e in particolare in Java 5.0 con le classi generiche Algoritmi e Strutture Dati di grande utilit per i programmatori. Ma prima di tutto conosciamo meglio la definizione di Algoritmi e Strutture Dati:

Una struttura dati un’entit usata per organizzare un insieme di dati all’interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle strutture dati da utilizzare strettamente legata a quella degli algoritmi, a tal proposito, solitamente si utilizza il concetto unificato di Algoritmi e Strutture Dati. La scelta della struttura dati influir inevitabilmente sull’efficienza degli algoritmi da utilizzare.

La struttura dati un metodo di organizzazione dei dati, quindi prescinde dai dati effettivamente contenuti. Ciascun linguaggio di programmazione offre strumenti, pi o meno sofisticati, per definire strutture dati, ovvero aggregare dati di tipo omogeneo o eterogeneo. Questi strumenti sono tipicamente componibili.

Pi formalmente, i linguaggi forniscono un insieme predefinito di tipi di dato elementari, e le strutture dati sono strumenti per costruire tipi di dati aggregati pi complessi.

L’operazione di costruire una variabile di un tipo di dato complesso detta “istanziazione”, e pu avvenire sia durante la compilazione del programma (compile time) sia durante la sua esecuzione (runtime).

Le strutture di dati si differenziano prima di tutto in base alle operazioni che si possono effettuare su di esse e alle prestazioni offerte. Questo permette di creare un’astrazione dall’implementazione, dando vita al concetto di Struttura dati astratta o Abstract Data Structure (ADS).

L’articolo stato preso da Wikipedia, per leggere la parte mancante visitate la pagina Struttura dati e seguite un pochino tutti i vari collegamenti per avere maggiori informazioni.

A breve vedremo come implentare la nostra prima struttura dati astratta, una delle pi primitive e semplici ma forse anche una delle pi importanti che ancora oggi alla base di molte applicazioni…

Parler dello Stack e la sua implementazione in Java 5.0 in un ArrayList a dimensione fissa, successivamente tratter un Array di tipo circolare a dimensione fissa e infine dovrei trattare uno Stack immagazzinato tramite una lista di oggetti a dimensione variabile.

Un piccolo avvertimento per chi fosse interessato: sono necessari Java Se JDK 5 o superiore e possibilmente un ide di programmazione java, magari Eclipse 3.2 o superiore (come il nuovo Europa). Per ora tutto comincer tra breve a pubblicare le prime risorse ;)

Tag: ,

26 Commenti a “Implementiamo degli algoritmi e strutture di dati in Java 5.0”

  1. TheKaneB scrive:

    Bene, sar interessante leggere questi articoli! ;)
    Noi abbiamo gi trattato le strutture basilari in Pascal in Programmazione e Laboratorio, abbiamo implementato stack, liste, alberi e grafi con relativi algoritmi di ricerca, visita, ordinamento e manipolazione… ma quest’anno avr anch’io una materia specifica di algoritmi e strutture dati in C, molto ma molto pi approfondita!! Che bello, non vedo l’ora! :D

  2. stenet scrive:

    Ma perch in tutte le universit fanno usare Eclipse?Io lo trovo scomodissimo!

  3. Traffyk scrive:

    Ciao Antonio magari ci scambiamo gli algoritmi bloggando…ehehe :P
    Oggi o domani dovrei riuscire a pubblicare i primi esercizi speriamo che non mi addormento sul pc come ho fatto ieri… hihihih

    @Stenet
    Tu cosa usi?? Io con Eclipse mi trovo molto bene comunque nessuno costringe ad usare Eclipse ma lo consiglia vivamente perch un IDE molto avanzato e completo… poi un progetto OpenSource ed finanziato da IBM… cos’altro volere di pi?? :P

  4. eyeonweb scrive:

    chi il prof? Vaccaro/De Santis? ;-)

  5. Danilo scrive:

    Bene, almeno imparo qualcosina pure io. Basta che non mi fai fare i compiti ;-)

  6. Cristiano scrive:

    Noto che, nonostante il passare degli anni, i programmi dei corsi restano pi o meno sempre gli stessi (le universit dovrebbe aggiornarsi un p di pi soprattutto per ci che concerne le discipline informatiche che hanno un livello di fluidit superiore a quelle delle altre discipline scientifiche).
    Per ci che concerne le definizioni tratte da Wikipedia, sono un p “leggerine”, nel senso che c’ qualche inesattezza (wikipedia non infallibile).
    Sarebbe stato un ottimo esercizio, per te, descrivere tu le definizioni riportate: sono convinto che sei perfettamente in grado di farlo e anche con ottimi risultati …
    Un saluto

  7. phoenix scrive:

    qualche cosa si fa anche a programmazione come ha detto TheKaneB. cmq sicuramente gli argomenti sono molto + dettagliati in questo esame.

  8. annarita scrive:

    @Raffaele: ed io cosa dovrei commentare in questa isola di informatici? Nulla! Mi resta soltanto la possibilit di farmi una larvata idea su qualcosa che mi manca e che mi sarebbe piaciuto fare, ma la vita si sa una sola e quindi non si pu pretendere……!

    La variabile “istanziazione” mi affascina e pure il concetto ADS.
    Non si potrebbe avere qualche nozioncina pi approfondita? Chiedo troppo?

  9. annarita scrive:

    @Raffaele: intendevo qualche nozioncina pi approfondita, ma sempre semplice semplice per utenti…..meno che principianti, praticamente al di sotto del piano terra!

    Ho segnalato questo articolo nei post della settimana del mio blog.

  10. Cristiano scrive:

    @ Annarita: “instanziazione” una pessima traduzione dall’inglese (pessima perch letterale e non semantica) di un termine che indica molto semplicemente “creare un oggetto a run-time”, ovvero durante l’esecuzione di un processo (sia esso un programma o quello che vuoi tu).
    L’oggetto pu essere una struttura dati o anche una semplice variabile.
    Il termine inoltre viene usato massicciamente nella programmazione logica del 1 ordine: nel linguaggio Prolog ad es. il termine “istanziare una variabile” indica proprio creare a run time una struttura dati, questo perch in Prolog le variabili in realt sono puntatori ad oggetti complessi che possono anche autoreferenziarsi tra loro.
    Tutto questo, oltre che per confonderti ulteriormente le idee (eheheh), serve solo per chiarirti che l’intrinseco fascino contenuto nel significato del termine effettivamente fine a se stesso ;-)
    Comunque se hai bisogno di delucidazioni in merito (anche pi semplici ;-) non esitare a chiedere …

Lascia un Commento



  • Metti mi piaceeee!!!

  • Feed RSS e contatti

    il mio super sexy feed rss
    Contatti (email, msn):

  • Weber Saint-Gobain

    Weber Saint-Gobain Sono agente tecnico commerciale, in qualità di collaboratore esterno, rappresentante l'agenzia Weber Saint-Gobain per la provincia di Salerno.
    Per maggiori informazioni ti invito a visitare il mio nuovo sito www.agenzianappo.it.
  • Consigli

    Questo blog è ospitato su Dreamhost, sei invece vuoi provare l'avventura di blogger e seguire le mie orme perchè non provi a visitare Italian Bloggers, Guadagnare Scrivendo!.

  • OpenStreetMap

    openstreetmap Sono mapper su OpenStreetMap, un progetto mondiale gratuito per la creazione di mappe stradali. Il mio nome utente è Traffyk.
  • Come guadagna il blog e disclaimer

    Semplicissimo, grazie a SprinTrade, ecco un mio articolo che spiega come guadagnare facendo scaricare giochi.
    Per qualsiasi richiesta comunque contattatemi via mail (sopra) o lasciate un commento.