Skip to content
/ ALGRAPH Public

Visualizzazione dell'algoritmo di Dijkstra su grafi

Notifications You must be signed in to change notification settings

zimm1/ALGRAPH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALGRAPH

Implementazione visuale dell'algoritmo di Dijkstra.

Caratteristiche

  • Esecuzione passo - passo
  • Esecuzione automatica
  • Visualizzazione della coda di priorità
  • Indicatore della linea di pseudo-codice eseguita
  • Generazione casuale di un grafo (orientato o non orientato)
  • Salvataggio di un grafo (orientato o non orientato) su file
  • Apertura di un grafo (orientato o non orientato) da file
  • Modifica di un grafo:
    • Aggiunta e rimozione di un nodo
    • Aggiunta e rimozione di un arco (orientato o non orientato)
    • Modifica del peso di un arco
    • Invertimento della direzione di un arco (se orientato)

Funzionalità disponibili

  • Barra dei menù
    • Grafo
      • Genera
        • Genera un grafo (orientato o non orientato) casualmente con i parametri inseriti da utente (massimo/minimo peso degli archi, massimo numero di nodi)
      • Salva
        • Salva il grafo attuale su file
      • Apri
        • Apre un grafo precedentemente salvato su file
    • Esecuzione
      • Passo
        • Esegue la linea successiva dell'algoritmo di Dijkstra, al primo passo richiede il nodo di partenza
      • Esegui
        • Esegue automaticamente gli steps dell'algoritmo di Dijkstra alla velocità scelta da utente
      • Pausa
        • Sospende l'esecuzione automatica dell'algoritmo
      • Slider
        • Seleziona la velocità di esecuzione automatica (massimo = istantanea)
    • Aiuto
      • Info
        • Apre una finestra di informazioni sul funzionamento dell'algoritmo di Dijkstra
  • Click destro sopra un nodo
    • Crea arco da qui
      • Crea un arco che ha come origine il nodo selezionato
    • Rimuovi nodo
      • Elimina il nodo selezionato e gli archi uscenti/entranti
  • Click destro del mouse sopra un arco
    • Modifica peso arco
      • Aggiorna il peso dell'arco selezionato con il peso inserito da utente
    • Inverti arco
      • Se il grafo è orientato inverte il nodo di origine con quello di destinazione
    • Elimina arco
      • Rimuove l'arco selezionato
  • Click destro del mouse nella finestra centrale
    • Crea nodo
      • Crea un nuovo nodo
  • Click sinistro del mouse sopra un nodo
    • Sposta il nodo selezionato tramite trascinamento

Librerie

  • JavaFX incluso nella versione standard di Java

Requisiti

Membri del team

  • Simone Cavazzoni - Website
  • Stefano Notari
  • Alessandro Tedeschi