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.
L’algoritmo di base era su StackOverflow
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