Tipi di dati astratti: la coda (queue) e algoritmo in Java 5.0

Secondo capitolo della puntata algoritmi e strutture dati la coda.

coda-queue

Un coda una struttura dati molto semplice, segue il principio FIFO, First In First Out, il primo ad entrare il primo ad uscire.. o potremmo dire chi primo arriva meglio alloggia!:P

Oggi non posso spiegarvi tutto, come sempre confido nei vostri commenti e richieste di informazioni specifiche per contribuire al meglio al post. Vediamo subito quali metodi ha l'interfaccia Queue:

  • enqueue(e): accoda l'elemento e alla coda, in pratica posiziona dietro l'elemento;
  • dequeue(): prende il primo elemento della coda, ovvero il primo ad essere entrato, lancia un'eccezione se vuota;
  • front(): simile al pop dello stack, legge il primo elemento della coda senza per toglierlo da essa, lancia un'eccezione se vuota;
  • size(): un classico ormai, restituisce la dimensione;
  • isEmpty(): booleano per sapere se la coda vuota o occupata da elementi.

Vediamo quindi l'interfaccia:

package queue;

import exception.EmptyQueueException;

public interface Queue<E> {

 public int size();
 public boolean isEmpty();
 public E front() throws EmptyQueueException;
 public void enqueue(E element);
 public E dequeue()throws EmptyQueueException;
}
(altro…)

Di Traffyk, fa

Tipi di dati astratti: Lo Stack, con algoritmo in Java 5.0

Eccoci finalmente arrivati alla prima stuttura di dati che andremo ad analizzare, lo Stack.

391px-Data stack
Prima di cominciare vorrei fare una piccola premessa, utilizzo il linguaggio Java per implementare gli algoritmi (in particolare Java 5.0), si presume (come ho citato nell'articolo precedente) che conosciate almeno in piccola parte il linguaggio Java, in particolare Classi, interfacce, Variabili assegnamenti e operatori/operazioni, cicli, packages e chi pi ne ha pi ne metta. Non vorrei trattare guide riguardanti la normale programmazione in Java in quanto ci sono degli ottimi libri che permettono di superare addirittura un esame universitario (nel mio caso cos stato :P ), mi permetto quindi di citarvi l'ottimo Java Mattone dopo Mattone, liberamente scaricabile e utilizzabile da tutti, non sar aggiornatissimo ma una volta acquisiti i fondamenti iniziali aggiornarsi alle ultime versioni di Java non sar un problema ;) . (altro…)

Di Traffyk, fa

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. (altro…)

Di Traffyk, fa

Installare Java 1.6 e relativo Plugin per FireFox su Fedora 7

java-duke-guitar.pngFedora 7 una distro stupenda, ma alla quale manca un po di tutto e bisogna scervellarsi per poter usare per la prima volta le nostre applicazioni o strumenti preferiti. In questo caso vedremo come abilitare Java e installare il Plugin per FireFox. A questo indirizzo scaricate la versione Linux RPM (self-extracting file) di Java e posizionatela nella vostra home. Dopodich aprite un terminale e dovreste trovarvi nella Home, se non ci siete spostatevi attraverso il comando: cd /home/TuoNomeUtente Acquisite i permessi di root con "su": # su Parola d'ordine: tuapassword (altro…)

Di Traffyk, fa