{"id":21614565,"url":"https://github.com/halaway/binary-expression-evaluator","last_synced_at":"2025-07-02T15:35:04.131Z","repository":{"id":158046608,"uuid":"558818346","full_name":"halaway/binary-expression-evaluator","owner":"halaway","description":"A BST with implementations for solving expressions and storing information.","archived":false,"fork":false,"pushed_at":"2024-04-02T17:59:02.000Z","size":130,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T16:55:36.639Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/halaway.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-10-28T11:16:10.000Z","updated_at":"2024-03-26T13:38:51.000Z","dependencies_parsed_at":"2024-02-09T02:14:48.553Z","dependency_job_id":"1a92b4b9-bda6-4e98-a913-23c882739aae","html_url":"https://github.com/halaway/binary-expression-evaluator","commit_stats":null,"previous_names":["halaway/binary-expression-evaluator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/halaway/binary-expression-evaluator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2Fbinary-expression-evaluator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2Fbinary-expression-evaluator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2Fbinary-expression-evaluator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2Fbinary-expression-evaluator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halaway","download_url":"https://codeload.github.com/halaway/binary-expression-evaluator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2Fbinary-expression-evaluator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263166507,"owners_count":23424176,"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":[],"created_at":"2024-11-24T22:08:25.455Z","updated_at":"2025-07-02T15:35:04.088Z","avatar_url":"https://github.com/halaway.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Binary Expression Evaluator\nUnderstanding Recursive Data Structures.\n\n## Dependencies\n\n- Windows 10 / Mac\n- c++11\n\n\n## Description\n\nEssentially, this aims to create a Binary Search Tree in C++, which can be implemented\nto solve and display Arithmetic Expressions of two possible forms: _\"A+B\"_ and _\"AB*\"_ where the operator is positioned to a particular form. This was also intended to test my understanding of other useful data structures such as Stacks and Queues. With this in mind, I was hoping to better understand \nhow a compiler might possibly analyze and parse syntax through a trivial approach.\n\n| \u003cimg width=\"242\" alt=\"Screen Shot 2024-02-11 at 10 24 00 PM\" src=\"https://github.com/halaway/binary-expression-evaluator/assets/31904474/5f279daa-1b7d-4188-9fef-550d7c45b955\"\u003e |\n|:--:| \n| *Visual* |\n\nA possible visual interpretation of how an algebraic expression of a particular form utilizes two stacks for distinguishing between operators and operands while treating a subset of an expression as its own subtree, effectively creating a tree while performing traversals and evaluations all in O(N). \n\n| \u003cimg width=\"301\" alt=\"Screen Shot 2024-02-11 at 10 28 51 PM\" src=\"https://github.com/halaway/binary-expression-evaluator/assets/31904474/d5953b91-9fb3-4f1c-b46d-ffa922c4f8b0\"\u003e |\n|:--:| \n| *Implementation* |\n\n\n\n## Features\n\n- Arithmetic Expressions can be displayed appropriately with balanced parentheses such as:\n- _((((A+B)-C)+D)*E)_ or _((4* 2)*(3+6))_ where each inner node is an operator and every leaf is an operand.\n- Secondly, while this program is minimal, it does attempt to implement a Map using a BST with key-value pairs of the form: \n- _(Key, Value)_\n\n\n## Contributing\n\nIf you have a suggestion for what should be improved, your contributions will be greatly appreciated. Simply: \n1. Fork the Project\n2. Create your Feature Branch \n3. Commit your Changes\n4. Push to the Branch \n5. Open a Pull Request\n\n\n## Authors\n\n@donnolis\n\n## Acknowledgments\n\nI particularly do not have any links to the sources I used in creating this, but these for sure played a crucial role. \n- Stackoverflow\n- Geeksforgeeks \n- Progamiz\n- A C++ textbook\n\n## Note\n\nThere are perhaps a lot of issues as I didn't really choose to test how certain inputs would break my already \nbuggy code, but for the most part, everything seems to work. Again, this is by no means professional as I was simply messing around and\nshoving concepts together. \n\n_Out of Boredom and curiosity, this is my Creation._\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalaway%2Fbinary-expression-evaluator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalaway%2Fbinary-expression-evaluator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalaway%2Fbinary-expression-evaluator/lists"}