{"id":19282549,"url":"https://github.com/neehan/dsa-implemented","last_synced_at":"2025-08-23T19:10:09.300Z","repository":{"id":86825401,"uuid":"96212006","full_name":"Neehan/DSA-implemented","owner":"Neehan","description":"C++ implementation of various data structures and algorithms","archived":false,"fork":false,"pushed_at":"2018-02-20T03:40:58.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-05T17:13:28.621Z","etag":null,"topics":["algorithms","c-plus-plus","data-structures","implementaion"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Neehan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-07-04T11:42:57.000Z","updated_at":"2020-04-04T06:22:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"e05f086b-dabc-4bf3-8224-52376440b172","html_url":"https://github.com/Neehan/DSA-implemented","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/Neehan%2FDSA-implemented","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neehan%2FDSA-implemented/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neehan%2FDSA-implemented/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neehan%2FDSA-implemented/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Neehan","download_url":"https://codeload.github.com/Neehan/DSA-implemented/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240386634,"owners_count":19793211,"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":["algorithms","c-plus-plus","data-structures","implementaion"],"created_at":"2024-11-09T21:27:20.170Z","updated_at":"2025-02-23T22:23:29.569Z","avatar_url":"https://github.com/Neehan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DSA-implemented\nThis is my implementation of various data structures and algorithms. \n\n## Index\n- `algorithms`\n  - `sorting`\n    - `merge_sort`\n  - `number_theoretic`\n    - `gcd`\n    - `factorization`\n      - `pollards_rho`\n\n## How to Use\nAll the functions are in `dsa` namespace. Call them like `dsa:merge_sort(parameters)`. Functions starting with `inner` are for internal use only. If you are reading this project, remember that `.h' `, `.cpp`, and `hpp` files represent header files, implementations, and template implementatins, respectively. Header files contain specifications and you only need to include a header file in your program to use its functions/classes. `hpp` files contain both documentation and implementation, and they need to be included in your program to be used.\n\n## Notes \nI wish there were a better way to seperate the internal library functions in C++. The only two ways I know of are--\n\n1. Start all internal function names with a special character like underscore. The problem is STL itself follows this approach, and consequently, any identifier name staring with an underscore is reserved. ( There are some specifications though. For instance, I could have gotten away by using one underscore followed by a lowercase letter, as everything is in my private namespace. However, if I did that, all the internal classnames would have to start with lowercase letters.)\n\n2. Put everything in a giant class and define private static methods. That could seriously work. I once thought about it, but writing a class that spans multiple pages is plainly ugly and a bad programming practice.\n\nI am still looking for any alternative that would require me minimal ammount of work to restructure the project. Any suggestion would be appreciated.\n\n## License\nGPL 3.0 or any later version in your opinion.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneehan%2Fdsa-implemented","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneehan%2Fdsa-implemented","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneehan%2Fdsa-implemented/lists"}