{"id":19089041,"url":"https://github.com/naelstrof/2420-binary-trees","last_synced_at":"2025-06-21T21:41:22.093Z","repository":{"id":143165720,"uuid":"45882222","full_name":"naelstrof/2420-Binary-Trees","owner":"naelstrof","description":"Personal Homework Assignment","archived":false,"fork":false,"pushed_at":"2015-11-11T23:50:10.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-22T07:16:35.148Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/naelstrof.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}},"created_at":"2015-11-10T02:32:26.000Z","updated_at":"2016-04-25T20:54:26.000Z","dependencies_parsed_at":"2023-03-16T20:26:03.576Z","dependency_job_id":null,"html_url":"https://github.com/naelstrof/2420-Binary-Trees","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/naelstrof/2420-Binary-Trees","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2F2420-Binary-Trees","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2F2420-Binary-Trees/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2F2420-Binary-Trees/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2F2420-Binary-Trees/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naelstrof","download_url":"https://codeload.github.com/naelstrof/2420-Binary-Trees/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2F2420-Binary-Trees/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261199991,"owners_count":23123917,"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-09T03:01:21.529Z","updated_at":"2025-06-21T21:41:17.079Z","avatar_url":"https://github.com/naelstrof.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Trees\n\n| *Due* Wednesday by 11:59pm | *Points* 10 | *Submitting* a file upload | *File Types* zip |\n\n[Video](https://utah.instructure.com/courses/351899/files/51209376/download?wrap=1)\n[Expression Trees](https://utah.instructure.com/courses/351899/files/51369971/download?wrap=1)\n\n* Coder – 60%\n  1. Write a BinarySearchTree class with an Add(int item) and Contains(int item). \n  2. Write an ExpressionParser class that will convert any given expression into an ExpressionTree class instance. The ExpressionParser must take a string such as “5 + 2 * 8 – 6 / 4” and convert it into an ExpressionTree. String has a Split() method which you will find quite helpful.\n* Programmer - 80%\n  1. Write a TraversePre(), TraverseIn(), and TraversePost() for both the BinarySearchTree class and the ExpressionTree class. These return the contents of your tree in a concatenated string using a pre-order traversal, an in-order traversal, and a post-order traversal. Description here: https://en.wikipedia.org/wiki/Tree_traversal%23Pre-order\n  2. Write an Evaluate() function on your ExpressionTree that calculates the value of your expression.\n* Engineer – 90%\n  1. Write test code for all code in your assignment (including the Google Engineer code if you complete that section of the assignment).\n  2. Testing hints: When testing your expression evaluation, I would expect you to assert that the result of your expression evaluation is equal to the same result as what the C# compiler calculates as well. Also, compare the result of the tree traversals to a string literal containing the correct result of the respective traversal.\n* Google Engineer – 100%\n  1. Instead of storing ints in your BinarySearchTree, store any generic T type instead.\n  2. Use T’s IComparable interface to do the comparision instead of the \u003c operator.\n  3. Allow the user to pass an IComparer to the BinarySearchTree constructor to use in place of the IComparable functionality.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaelstrof%2F2420-binary-trees","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaelstrof%2F2420-binary-trees","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaelstrof%2F2420-binary-trees/lists"}