Ordinamento visivo su Grafi

Top Arrow
En 🇬🇧

Panoramica del Progetto

Concetti Chiave

  • Ordinamento topologico
  • Grafi aciclici diretti (DAG)
  • Visita di grafi (DFS - Ricerca in profondità)
  • Visualizzazione algoritmica
  • Strutture dati (Grafi, Stack/Pila)
  • Libreria grafica Turtle di Python
  • Parsing di file

Motivazione

Durante i miei studi universitari, ho riscontrato alcune difficoltà nel seguire visivamente l'algoritmo di ordinamento topologico.

Le visualizzazioni che trovavo online erano troppo veloci o non mostravano lo stack e la lista di ordinamento nello stesso modo in cui venivano presentati a lezione.

Implementazione

Stavo già lavorando per uso personale a una piccola libreria di grafica vettoriale scritta con Turtle; l'ho usata come base per creare una visualizzazione che riflettesse esattamente il modello spiegato a lezione.

Risultati e Osservazioni

Il risultato è un programma interattivo che carica i grafi da file esterni, verifica che si tratti effettivamente di DAG (Grafi aciclici diretti) e anima l'ordinamento topologico passo dopo passo, mostrando sia lo stack che la lista di ordinamento in tempo reale.

Il basso refresh rate (frequenza di aggiornamento) è un limite noto di Turtle, che introduce un sovraccarico (overhead) per ogni operazione grafica (uno dei motivi per cui il progetto è tuttora in fase di sviluppo).

Possibili Sviluppi Futuri

  • Sostituire Turtle con una libreria grafica più performante (come Pygame, Tkinter diretto o una soluzione web-based).
  • Consentire agli utenti di creare i grafi direttamente tramite l'interfaccia, senza dipendere da un file .txt.
  • Aggiungere altri algoritmi per i DAG (ad esempio, il calcolo del cammino minimo o del cammino critico).
  • Fornire un controllo manuale sulla velocità dell'animazione.