Giter VIP home page Giter VIP logo

algraph's Introduction

ALGRAPH

	Esecuzione dell'algoritmo di Bellman Ford Moore su di un grafo, con output a schermo step by step delle strutture dati.

Per l'utilizzo:
	Da menu principale scegliere una delle seguenti voci:
		-Generate Graph Manually
		-Generate Random Graph
		-Impot Graph From File

Generate Graph Manually:
	Questa funzionalità permette di creare manualmente il grafo mediante alcuni bottoni:
		-Add node: Aggiunge un nodo
		-Switch to [mode] mode: permette di scgliere fra le due modalità di modifica: Selection e Link.
			-Selection mode: cliccando su uno degli elementi del grafo, questo viene selezionato.
			-Link mode: cliccando su due nodi viene creato un arco orientato fra questi due nodi dal primo al secondo che si ha cliccato.
		-Remove: elimina ogni elemento selezionato.
	Cliccando sulle etichette degli elementi viene aperta una finestra di dialogo che permette all'utente di reimpostare il peso dell'arco o l'etichetta del nodo.
	Infine è possibile trascinare i nodi del grafo per conferire al grafo un aspetto più gradevole

Grenerate Random Graph:
	Mediante una finestra di dialogo è possibile settare alcuni parametri per la generazione del grafo: 
		-Max Nodes
		-Min Nodes
		-Max Weight
		-Min Weight
	Density, infine, permette di aumentare il numero di archi totali del grafo: selezionandolo sarà più probabile che l'algoritmo generi grafi densi.

Import Graph From File:
	Mediante una finestra è possibile selezionare quale file importare, una volta effettuata la scelta, verrà aperta la pagina principale del programma.
	
Main Page:
	In questa pagina, oltre che alle funzionalità di modifica di un grafo, sono persenti anche una barra dei menu, alcuni pulsanti per la gestione dell'esecuzione e tre liste di log.

Menu Bar:
	Prevede due pulsanti:
		-Save, per il salvataggio dei file
		-Open, per l'apertura dei file

Apply Algorithm:
	Mediante questo pulsante viene lanciata l'esecuzione dell'algoritmo dal nodo selezionato; qualora ve ne sia più di uno, o vi siano dei cicli negativil'algoritmo non parte.
	La radice viene colorata in rosso.
	Il nodo estratto dalla coda viene colorato in blu.
	Il nodo adiacente ad esso preso in analisi viene colorato in verde.
	Ad ogni step è possibile, cliccando sopra ad un nodo, leggere in tempo reale la distanza di questo dalla radice.
	Ad ogni step le frecce che fanno parte del vettore dei padri vengono colorate in rosso, in modo da dare una lettura intuitiva del vettore dei padri.
	Ad ogni step la lcoda dei nodi viene mostrata nella parte destra della log bar.  
	

Log Bar:
	La prim lista a sinistra mostra le linee dello pseudocodice che paso dopo passo vengono eseguite, la lista in mezzo mostra lo stato della coda in cui vengono inseriti i nodi su cui dovrà essere eseguito l'algoritmo e l'ultima lista mostra lo stato del vettoer delle distanze di ogni nodo dal nodo radice.

Sviluppatori:
	-Simone Branchetti		[email protected]
	-Luca Michele Contalbo		[email protected]
	-Davide Davoli			[email protected]

algraph's People

Contributors

davidedavoli avatar lucacontalbo avatar toyok1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.