Find Cycle in Formula

Tempo fa per lavoro ho dovuto creare una procedura che trovasse un ciclo/loop all’interno di una serie di formule. Qualcosa che Excel risolve in maniera abbastanza semplice. In C# creare una struttura dati (albero o lista linkata) è altrettanto semplice ma volevo anche avere un esempio in una pagina web e quindi perchè non usare il caro vecchio JavaScript nativo?

Update: ho trovato una libreria/servizio che genera grafi(ci) a partire da una querystring: Gravizo 

http://www.gravizo.com/svg? digraph G {a -> b -> c; a -> c -> d -> a; }

 

Qua sotto invece una immagine statica.

Loop

L’algoritmo di base era su StackOverflow

Find Cycle in Formula

In questa prima versione controllo solo che l’input sia corretto, il numero di formule è limitato e probabilmente è ancora presente qualche errore nel parsing dei valori. Ma funziona e quindi riconosce un ciclo banale come:

  • A : B
  • B : A

Ma anche qualcosa del tipo

  • A: B + C
  • B : 
  • C : D
  • D

I commenti sono chiusi.