{"id":18556637,"url":"https://github.com/ahmdtaha/tree_viz","last_synced_at":"2025-05-15T13:33:26.986Z","repository":{"id":98612510,"uuid":"358545527","full_name":"ahmdtaha/tree_viz","owner":"ahmdtaha","description":"Java code to visualize trees (e.g., BST, BTree, QuadTree)","archived":false,"fork":false,"pushed_at":"2021-04-17T18:03:46.000Z","size":49,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-17T11:34:02.972Z","etag":null,"topics":["avl-tree","binary-search-tree","binary-trees","btree","data-structures","debugging-tool","eclipse","java","kdtrees","quadtree","visualization"],"latest_commit_sha":null,"homepage":"","language":"Java","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/ahmdtaha.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":"2021-04-16T09:26:47.000Z","updated_at":"2025-02-04T17:26:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"48ce7e92-c1f3-41db-9b13-a3bf120954da","html_url":"https://github.com/ahmdtaha/tree_viz","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/ahmdtaha%2Ftree_viz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmdtaha%2Ftree_viz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmdtaha%2Ftree_viz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmdtaha%2Ftree_viz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmdtaha","download_url":"https://codeload.github.com/ahmdtaha/tree_viz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254349249,"owners_count":22056306,"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":["avl-tree","binary-search-tree","binary-trees","btree","data-structures","debugging-tool","eclipse","java","kdtrees","quadtree","visualization"],"created_at":"2024-11-06T21:32:31.273Z","updated_at":"2025-05-15T13:33:26.958Z","avatar_url":"https://github.com/ahmdtaha.png","language":"Java","readme":"# Tree Viz\nJava code to visualize trees (Binary + B Tree)\n\n\n### TL;DR\nThe CompactTreeViz takes a tree-description and draws the tree in a png file. The tree-description is an ArrayList\u003cString\u003e and leverages the format propose by [Jim Blackler](http://jimblackler.net/treefun/index.html).\n\n### Sample Binary Search Tree\n![](./sample_imgs/bst.png)\n\n### Sample BTree\n![](./sample_imgs/btree.png)\n\n\n###  Usage\nrun `Main.java` from package `src.tree_viz`. This is an eclipse project. After running `Main.java`, png files are created in the project root directory.\n\n### TODO\n* Explain how to support other trees, i.e., treeDescription\n* Resize the node (width and height) dynamically based on its content.\n\n\n### Contributor list\nWhile TreeViz is a one man job, I borrowed somethings from others and I want to make this clear.\n1. I use the tree format propose by [Jim Blackler](http://jimblackler.net/treefun/index.html). This allows TreeViz to support any tree structure and not just binary trees.\n2. Since this tool is about visualization only, I borrowed the BST and the BTree implementations from [mvyas85](https://github.com/mvyas85/Binary-Tree/blob/master/src/BST/BinarySearchTree.java) and [phishman3579](https://github.com/phishman3579/java-algorithms-implementation/blob/master/src/com/jwetherell/algorithms/data_structures/BTree.java), respectively.\n\nI hope other people contribute to the TreeViz and improve it. Thus, pull requests are welcomed.\n\n\n### Release History\n* First code commit on 16 April 2021\n\n\n### Misc Notes\n\n* I developed TreeViz while TAing CMSC420 with Jason Filippou. CMSC420 is an advanced data-structures class with a lot of projects about various trees (BST, AVL, BTree, QuadTree). TreeViz is **not** part of the course requirements; I developed TreeViz to help me debug my implementation. TreeViz helped me visualize my trees after every insertion/deletion, i.e., find bugs faster.  ","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmdtaha%2Ftree_viz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmdtaha%2Ftree_viz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmdtaha%2Ftree_viz/lists"}