{"id":25725379,"url":"https://github.com/herndone/cst-370-algorithms","last_synced_at":"2026-04-20T14:04:40.373Z","repository":{"id":122865625,"uuid":"235742761","full_name":"HerndonE/CST-370-Algorithms","owner":"HerndonE","description":"In this course, I learned important data structures in computer science and acquire fundamental algorithm design techniques to get the efficient solutions to several computing problems from various disciplines. Topics include the analysis of algorithm efficiency, hash, heap, graph, tree, sorting and searching, brute force, divide-and-conquer, decrease-and-conquer, transform-and-conquer, dynamic programming, and greedy programming.","archived":false,"fork":false,"pushed_at":"2020-12-22T01:24:02.000Z","size":23081,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-18T14:39:09.704Z","etag":null,"topics":["algorithms","cpp"],"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/HerndonE.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":"2020-01-23T07:13:56.000Z","updated_at":"2024-01-14T01:54:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"804d42cc-3e0a-47b1-9b3a-0a129d6c886d","html_url":"https://github.com/HerndonE/CST-370-Algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HerndonE/CST-370-Algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HerndonE%2FCST-370-Algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HerndonE%2FCST-370-Algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HerndonE%2FCST-370-Algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HerndonE%2FCST-370-Algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HerndonE","download_url":"https://codeload.github.com/HerndonE/CST-370-Algorithms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HerndonE%2FCST-370-Algorithms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["algorithms","cpp"],"created_at":"2025-02-25T22:29:54.825Z","updated_at":"2026-04-20T14:04:40.325Z","avatar_url":"https://github.com/HerndonE.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HerndonE-CST-370-Algorithms\n\n# Assignments    \n\n0. hw0_1 - This program reads the user's input data and conducts sum and difference     \noperations, depending on the command key.    \n\n\tTo run hw0_1\n```console\nvocstartsoft:~/environment/hw0/hw0_1 $ g++ -o hw0_1 hw0_1.cpp\nvocstartsoft:~/environment/hw0/hw0_1 $ bash test_script_hw0_1.sh\n```\n\n1. hw1_1 - A program that that reads input numbers from a user and displays the closest\ndistance between two numbers among all input numbers.\n\n\tTo run hw1_1\n```console\nvocstartsoft:~/environment/hw1/hw1_1 $ g++ -o hw1_1 hw1_1.cpp\nvocstartsoft:~/environment/hw1/hw1_1 $ bash test_script_hw1_1.sh\n```\n\n2. hw1_2 - A program that reads two groups of numbers in which each group has random integer numbers with\npossible duplicates. \n\n\tTo run hw1_2\n```console\nvocstartsoft:~/environment/hw1/hw1_2 $ g++ -o hw1_2 hw1_2.cpp\nvocstartsoft:~/environment/hw1/hw1_2 $ bash test_script_hw1_2.sh\n```\n\n3. hw2_1 -  A program checks if two strings are anagram or not.     \n\n\tTo run hw2_1\n```console\nvocstartsoft:~/environment/hw2/hw2_1 $ g++ -o hw2_1 hw2_1.cpp\nvocstartsoft:~/environment/hw2/hw2_1 $ bash test_script_hw2_1.sh\n```\n\n4. hw2_2 - A program that reads two timestamps of two events from a user and displays the difference between the two timestamps.    \n\n\tTo run hw2_2\n```console\nvocstartsoft:~/environment/hw2/hw2_2 $ g++ -o hw2_2 hw2_2.cpp\nvocstartsoft:~/environment/hw2/hw2_2 $ bash test_script_hw2_2.sh\n```\n\n5. hw3_1 - A program that reads a set of events and displays the maximum number of events that take place concurrently.    \n\n\tTo run hw3_1\n```console\nvocstartsoft:~/environment/hw3/hw3_1 $ g++ -o hw3_1 hw3_1.cpp\nvocstartsoft:~/environment/hw3/hw3_1 $ bash test_script_hw3_1.sh\n```\n\n6. hw3_2 - A program that converts a directed graph data from a user into a corresponding adjacency list format.     \n\n\tTo run hw3_2\n```console\nvocstartsoft:~/environment/hw3/hw3_2 $ g++ -o hw3_2 hw3_2.cpp\nvocstartsoft:~/environment/hw3/hw3_2 $ bash test_script_hw3_2.sh\n```\n\n7. hw4_1 - A program that reads a number of elements in a set and then the elements     \nof the set. Then it displays all possible binary numbers and corresponding subsets one by one.          \n\n\tTo run hw4_1\n```console\nvocstartsoft:~/environment/hw4/hw4_1 $ g++ -o hw4_1 hw4_1.cpp\nvocstartsoft:~/environment/hw4/hw4_1 $ bash test_script_hw4_1.sh\n```\n\n8. hw4_2 - A program that that collects the maximum number of apples in boxes.    \n\n\tTo run hw4_2\n```console\nvocstartsoft:~/environment/hw4/hw4_2 $ g++ -o hw4_2 hw4_2.cpp\nvocstartsoft:~/environment/hw4/hw4_2 $ bash test_script_hw4_2.sh\n```\n\n9. hw5_1 - A program that reads a counter of input values and the input values themselves.              \n\n\tTo run hw5_1\n```console\nvocstartsoft:~/environment/hw5/hw5_1 $ g++ -o hw5_1 hw5_1.cpp\nvocstartsoft:~/environment/hw5/hw5_1 $ bash test_script_hw5_1.sh\n```\n\n10. hw5_2 - A program that reads an input graph data from a user.\nThen, it should present a path for the travelling salesman problem (TSP).\nFair warning, it does not print PATH correctly    \n\n\tTo run hw5_2\n```console\nvocstartsoft:~/environment/hw4/hw5_2 $ g++ -o hw5_2 hw5_2.cpp\nvocstartsoft:~/environment/hw4/hw5_2 $ bash test_script_hw5_2.sh\n```\n11. hw6_1 - A program that conducts the BFS traversal of a graph and \ndisplays city names in the range of hop(s) from a starting city.    \n\n\tTo run hw6_1\n```console\nvocstartsoft:~/environment/hw6/hw6_1 $ g++ -o hw6_1 hw6_1.cpp\nvocstartsoft:~/environment/hw6/hw6_1 $ bash test_script_hw6_1.sh\n```\n\n12. hw7_1 - A program that displays the biggest number in an array with n integer numbers using a divide-and-conquer technique.         \n\n\tTo run hw7_1\n```console\nvocstartsoft:~/environment/hw7/hw7_1 $ g++ -o hw7_1 hw7_1.cpp\nvocstartsoft:~/environment/hw7/hw6_1 $ bash test_script_hw7_1.sh\n```\n\n13. hw7_2 - A program that reads a positive integer number from a user and reverse it.        \n\n\tTo run hw7_2\n```console\nvocstartsoft:~/environment/hw7/hw7_2 $ g++ -o hw7_2 hw7_2.cpp\nvocstartsoft:~/environment/hw7/hw7_2 $ bash test_script_hw7_2.sh\n```\n\n14. hw7_3 - A program that implements the Depth-First Search (DFS) algorithm.    \n\n\tTo run hw7_3\n```console\nvocstartsoft:~/environment/hw7/hw7_3 $ g++ -o hw7_3 hw7_3.cpp\nvocstartsoft:~/environment/hw7/hw7_3 $ bash test_script_hw7_3.sh\n```\n\n15. hw8_1 - A program that provides a few functions for a binary tree.    \n\n\tTo run hw8_1\n```console\nvocstartsoft:~/environment/hw8/hw8_1 $ g++ -o hw8_1 hw8_1.cpp\nvocstartsoft:~/environment/hw8/hw8_1 $ bash test_script_hw8_1.sh\n```\n\n16. hw9_1 - A program that connects several connected components of a graph with minimum number of edges to create a single connected component of the graph.    \nFair warning, the program prints expected output    \n\tTo run hw9_1\n```console\nvocstartsoft:~/environment/hw9/hw9_1 $ g++ -o hw9_1 hw9_1.cpp\nvocstartsoft:~/environment/hw9/hw9_1 $ bash test_script_hw9_1.sh\n```\n\n17. hw9_2 - A program that conducts the topological sorting based on the Kahn’s algorithm covered in the class.    \n\n\tTo run hw9_2\n```console\nvocstartsoft:~/environment/hw9/hw9_2 $ g++ -o hw9_2 hw9_2.cpp\nvocstartsoft:~/environment/hw9/hw9_2 $ bash test_script_hw9_2.sh\n```\n\n18. hw9_3 - A program which checks if an input string is a palindrome or not.     \n\n\tTo run hw9_3\n```console\nvocstartsoft:~/environment/hw9/hw9_3 $ g++ -o hw9_3 hw9_3.cpp\nvocstartsoft:~/environment/hw9/hw9_3 $ bash test_script_hw9_3.sh\n```\n\n19. hw10_1 - A program to conduct heap operations.        \n\n\tTo run hw10_1\n```console\nvocstartsoft:~/environment/hw10/hw10_1 $ g++ -o hw10_1 hw10_1.cpp\nvocstartsoft:~/environment/hw10/hw10_1 $ bash test_script_hw10_1.sh\n```\n\n20. hw10_2 - A program to conduct the radix sort for strings.      \n//It works except for one case :/    \n\tTo run hw10_2\n```console\nvocstartsoft:~/environment/hw10/hw10_2 $ g++ -o hw10_2 hw10_2.cpp\nvocstartsoft:~/environment/hw10/hw10_2 $ bash test_script_hw10_2.sh\n```\n\n21. hw11_1 - A program to simulate the operations of linear probing covered in the class.    \n\tTo run hw11_1\n```console\nvocstartsoft:~/environment/hw11/hw11_1 $ g++ -o hw11_1 hw11_1.cpp\nvocstartsoft:~/environment/hw11/hw11_1 $ bash test_script_hw11_1.sh\n```\n\n22. hw11_2 - A program that displays the performance of three different\nsorting algorithms (= heap sort, merge sort, and quick sort) on the screen.    \n\tTo run hw11_2\n```console\nvocstartsoft:~/environment/hw11/hw11_2 $ g++ -o hw11_2 hw11_2.cpp\nvocstartsoft:~/environment/hw11/hw11_2 $ bash test_script_hw11_2.sh\n```\n\n23. hw12_1 - A program that to collect maximum number of coins\non an n x m board which was covered in the class.    \n       \n\tTo run hw12_1\n```console\nvocstartsoft:~/environment/hw12/hw12_1 $ g++ -o hw12_1 hw12_1.cpp\nvocstartsoft:~/environment/hw12/hw12_1 $ bash test_script_hw12_1.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fherndone%2Fcst-370-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fherndone%2Fcst-370-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fherndone%2Fcst-370-algorithms/lists"}