{"id":21472526,"url":"https://github.com/jeanchilger/useful-algorithms","last_synced_at":"2025-06-24T15:38:59.528Z","repository":{"id":104832012,"uuid":"136565355","full_name":"jeanchilger/useful-algorithms","owner":"jeanchilger","description":"A bunch of commonly used algorithms and hacks to make a programmer's life easier","archived":false,"fork":false,"pushed_at":"2020-03-15T21:45:04.000Z","size":99,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T16:38:39.406Z","etag":null,"topics":["ordering","searching","useful-functions"],"latest_commit_sha":null,"homepage":null,"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/jeanchilger.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":"2018-06-08T04:13:09.000Z","updated_at":"2020-03-15T21:45:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"3a0ff270-aa30-4e9d-b47f-44ec832910f6","html_url":"https://github.com/jeanchilger/useful-algorithms","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/jeanchilger%2Fuseful-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanchilger%2Fuseful-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanchilger%2Fuseful-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanchilger%2Fuseful-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeanchilger","download_url":"https://codeload.github.com/jeanchilger/useful-algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243989712,"owners_count":20379648,"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":["ordering","searching","useful-functions"],"created_at":"2024-11-23T09:50:58.672Z","updated_at":"2025-03-17T07:20:34.680Z","avatar_url":"https://github.com/jeanchilger.png","language":"C++","readme":"# useful-algorithms\nA bunch of commonly used algorithms and hacks to make a programmer's life easier.\nThe algorithms were mostly developed by [JeanCHilger](https://github.com/JeanCHilger), [Junior-16](https://github.com/Junior-16) and [PauloGSC](https://github.com/PauloGSC).\n\n## TODO\n- [ ] [Sieve of Eratosthenes](https://github.com/JeanCHilger/useful-algorithms/tree/master/math/sieve.cpp)\n- [ ] Fenwick Tree\n- [ ] Segment Tree with Lazy\n- [ ] Union-Find Disjoint Set\n- [ ] Minimum Spanning Tree\n- [ ] Kuskal's Algorithm\n## Quick List\nSuperficial description of the contents of this repository.\n* [data-structures](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures): Useful and ordinary data structures, most found anywhere else.\n  * [trees](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees): Trees data structures.\n    * [avl](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/avl): AVL balanced tree implementation using C language;\n    * [bst](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/bst): Binary Search Tree implementation using C language;\n    * [red-black](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/red-black)(not complete): Red-Black balanced tree implementation using C language;\n    * [segment-tree](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/segment-tree): Segment Tree array-like implementation using C++ language;\n    \n* [dynamic-programming](https://github.com/JeanCHilger/useful-algorithms/tree/master/dynamic-programming): Classical dynamic programming algorithms.\n  * [coin.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/coin.cpp): C++ implementation for the *coin chttps://github.com/JeanCHilger/useful-algorithms/tree/master/data-structureshange* problem;\n  * [edit-distance.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/edit-distance.cpp): C++ implementation for the *edit distance* problem;\n  * [kadane.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/kadane.cpp): C++ implementation for the Kadane's algorithm (max sum for a contiguous subarray);\n  * [knapsack-bottom-up.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/knapsack-bottom-up.cpp): C++ implementation for the knapsack problem, using the bottom-up approach;\n  * [knapsack.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/knapsack-bottom-up.cpp): C++ implementation for the knapsack problem, using the top-down approach;\n  * [lis.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/lis.cpp): C++ implementation for the Longest Increasing Subsequence problem;\n  * [longest-palindromic-subsequence.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/longest-palindromic-subsequence.cpp): C++ implementation for the Longest Palindromic Subsequence problem;\n  * [longest-palindromic-substring.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/longest-palindromic-substring.cpp): C++ implementation for the Longest Palindromic Substring problem;\n  * [max-subarray-sum.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/max-subarray-sum.cpp): C++ implementation for the maximun sum of a subarray problem;\n  * [scs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/scs.cpp): C++ implementation for the Shortest Common Supersequence problem;\n  \n* [graphs](https://github.com/JeanCHilger/useful-algorithms/tree/master/graphs): Classical algorithms on graphs.\n  * [bfs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/bfs.cpp): C++ implementation of the Breadth-First Search traversal;\n  * [dfs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/dfs.cpp): C++ implementation of the Depth-First Search traversal;\n  * [dijkstra.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/dijkstra.cpp): C++ implementation of the Dijkstra's algorithm;\n  \n* [problem-solving](https://github.com/JeanCHilger/useful-algorithms/tree/master/problem-solving): Problems solved by [JeanCHilger](https://github.com/JeanCHilger), [Junior-16](https://github.com/Junior-16) and [PauloGSC](https://github.com/PauloGSC), from misc sources.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeanchilger%2Fuseful-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeanchilger%2Fuseful-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeanchilger%2Fuseful-algorithms/lists"}