{"id":16791733,"url":"https://github.com/keivan-sf/dafsa-visualizer","last_synced_at":"2025-10-25T07:25:52.559Z","repository":{"id":135887671,"uuid":"528878633","full_name":"Keivan-sf/dafsa-visualizer","owner":"Keivan-sf","description":"A Trie and DAFSA visualizer","archived":false,"fork":false,"pushed_at":"2023-07-29T17:34:40.000Z","size":698,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T20:21:37.710Z","etag":null,"topics":["dafsa","data-structures","finite-state-machine","trie","trie-structure"],"latest_commit_sha":null,"homepage":"https://keivan-sf.github.io/dafsa-visualizer","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Keivan-sf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-25T14:06:43.000Z","updated_at":"2024-12-31T07:54:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"26efb2b5-cc40-4efc-b4b9-b9bac26ded6f","html_url":"https://github.com/Keivan-sf/dafsa-visualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keivan-sf%2Fdafsa-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keivan-sf%2Fdafsa-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keivan-sf%2Fdafsa-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keivan-sf%2Fdafsa-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Keivan-sf","download_url":"https://codeload.github.com/Keivan-sf/dafsa-visualizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248316836,"owners_count":21083515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dafsa","data-structures","finite-state-machine","trie","trie-structure"],"created_at":"2024-10-13T08:35:43.635Z","updated_at":"2025-10-25T07:25:47.512Z","avatar_url":"https://github.com/Keivan-sf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![main](docs/images/main-dafsa.jpg)\n\n# Trie \u0026 DAWG visualizer\nA simple  trie and dawg visualizer using [GraphViz](http://www.graphviz.org/) in TS\n\nWebpage: [keivan-sf.github.io/dafsa-visualizer](https://keivan-sf.github.io/dafsa-visualizer/)\n\n### Motivation\nI don't have experience in theories of computation so one should not look at this project as the right way of implementing these data structures. The main goal is to help visual learners like me understand the concepts of them.\n### How it works\nThe program first builds a [Trie](https://en.wikipedia.org/wiki/Trie) and them performs a [DFA minimization](https://en.wikipedia.org/wiki/DFA_minimization) to convert it into a [DAWG](https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton).\n\nAs far as I know, there are 2 ways of creating a DAFSA/DAWG:\n\n- Creating a trie then minimizing it\n- Creating a dawg in one step\n\n### Examples\n![trie](docs/images/triedawg.jpg)\n### Resources\n\nArticle and projects which I find useful in this concept:\n\n##### [Wiki pedia - DAFSA](https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton)\n##### [JB's Blog - DAWG](https://jbp.dev/blog/dawg-basics.html)\n##### [Incremental Construction of Minimal Acyclic Finite State Automata and Transducers](https://aclanthology.org/W98-1305/)\n- This article shows a way of creating a dawg in one step\n##### [Github.com/vtortola/dawg](https://github.com/vtortola/dawg)\n- This repo implements a dawg building algorithm in c# and contains a visual explanation of it along side useful data and statistics\n##### [DFA-minimization algorithm](https://www.youtube.com/watch?v=7W2lSrt8r-0)\n- This video explains a DFA-minimization algorithm along side other useful concepts. Which can be used in minimizing a trie into a dawg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeivan-sf%2Fdafsa-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeivan-sf%2Fdafsa-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeivan-sf%2Fdafsa-visualizer/lists"}