{"id":26403380,"url":"https://github.com/laserphaser/python-algorithms","last_synced_at":"2025-08-20T04:04:14.928Z","repository":{"id":48779773,"uuid":"75461471","full_name":"LaserPhaser/python-algorithms","owner":"LaserPhaser","description":"Algorithms and data structures in Python","archived":false,"fork":false,"pushed_at":"2021-07-12T15:54:41.000Z","size":121,"stargazers_count":3,"open_issues_count":6,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-05T06:31:58.671Z","etag":null,"topics":["algorithms","datastructures","graph","graph-algorithms","greedy-algorithms","python","python3","sorting-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LaserPhaser.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-03T08:18:25.000Z","updated_at":"2024-06-30T12:06:10.000Z","dependencies_parsed_at":"2022-08-23T11:50:09.801Z","dependency_job_id":null,"html_url":"https://github.com/LaserPhaser/python-algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LaserPhaser/python-algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaserPhaser%2Fpython-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaserPhaser%2Fpython-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaserPhaser%2Fpython-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaserPhaser%2Fpython-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LaserPhaser","download_url":"https://codeload.github.com/LaserPhaser/python-algorithms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaserPhaser%2Fpython-algorithms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271262667,"owners_count":24728979,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","datastructures","graph","graph-algorithms","greedy-algorithms","python","python3","sorting-algorithms"],"created_at":"2025-03-17T15:33:27.975Z","updated_at":"2025-08-20T04:04:14.881Z","avatar_url":"https://github.com/LaserPhaser.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"|Build Status| |Coverage Status| |Maintainability| |Codacy| |Documentation Status|\n\npython-algorithms\n=================\n\npython-algorithms project is a collection of algorithms and datastructures implemented on\n``Python3.6`` You don’t need to install these project as a module (via\npip) because usually you just need only one algorithm instead of all\npack, so just copy and paste the source code. For easy navigation please\nuse links to the source code below.\n\nAlgorithms:\n-----------------------\n\nArithmetic\n~~~~~~~~~~\n\n-  `GCD [Greatest Common Divisor] \u003calgorithms/arithmetic/gcd.py\u003e`__\n-  `LCM [Least Common Multiple] \u003calgorithms/arithmetic/lcm.py\u003e`__\n\nGreedy\n~~~~~~\n\n-  `Covering segments \u003calgorithms/greedy/covering_segments.py\u003e`__\n-  `Fractional knapsack \u003calgorithms/greedy/fractional_knapsack.py\u003e`__\n\nSearch\n~~~~~~\n\n-  `Binary search \u003calgorithms/search/binary_search.py\u003e`__\n-  `Closest pair \u003calgorithms/search/closest_pair.py\u003e`__\n-  `Fibonacci [Recursive method] \u003calgorithms/search/fibonacci.py\u003e`__\n-  `Fibonacci by Modulo [with Pisano period] \u003calgorithms/search/fibonacci_modulo.py\u003e`__\n-  `Rabin-Karp algorithm \u003calgorithms/search/rabinkarp.py\u003e`__\n\nSorting\n~~~~~~~\n\n-  `Merge sort \u003calgorithms/sorting/merge_sort.py\u003e`__\n-  `Quick sort with [Dutch National Flag Algorithm] optimization \u003calgorithms/sorting/quick_sort.py\u003e`__\n\nAlgorithms on Graphs\n~~~~~~~~~~~~~~~~~~~~\n\n\n-  `DFS (Depth first search) \u003calgorithms/graphs/dfs.py\u003e`__\n-  `BFS (Breadth first search) \u003calgorithms/graphs/bfs.py\u003e`__\n-  `Dijkstra (priority queue) \u003calgorithms/graphs/dijkstra.py\u003e`__\n-  `Bidirectional Dijkstra (priority queues) \u003calgorithms/graphs/bidi_dijkstra.py\u003e`__\n-  `Cycle detection (DFS) \u003calgorithms/graphs/dfs_cycle_detection.py\u003e`__\n-  `SCC (Strongly connected components) \u003calgorithms/graphs/strongly_connected.py\u003e`__\n-  `Topological Sort \u003calgorithms/graphs/topological_sort.py\u003e`__\n-  `Bipartite \u003calgorithms/graphs/bipartite.py\u003e`__\n-  `Bellman-Ford algorithm (negative cycle detection) \u003calgorithms/graphs/bellman_ford.py\u003e`__\n-  Kruskal algorithm for connecting points\n-  A* (potential function - euclidean distance)\n-  `BST checker \u003calgorithms/graphs/bst_check.py\u003e`__\n\nDynamic Programming\n~~~~~~~~~~~~~~~~~~~\n-  `Knapsack \u003calgorithms/dynamic_programming/knapsack.py\u003e`__\n\n\nDatastructures:\n---------------\n\n-  `Hash chain \u003calgorithms/hash_tables/hash_chain.py\u003e`__\n\n\nUnsorted:\n---------\n\n-  Tree traversal methods (in/pre/post order recursive and iterative)\n-  Rope data structure (heavyweight strings based on splay tree with\n   iterative in order traversal)\n\n.. |Build Status| image:: https://travis-ci.org/ArseniyAntonov/python-algorithms.svg?branch=master\n    :target: https://travis-ci.org/ArseniyAntonov/python-algorithms\n.. |Documentation Status| image:: https://readthedocs.org/projects/python-algorithms-doc/badge/?version=latest\n    :target: http://python-algorithms-doc.readthedocs.io/en/latest/?badge=latest\n.. |Coverage Status| image:: https://codecov.io/gh/ArseniyAntonov/python-algorithms/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/ArseniyAntonov/python-algorithms\n.. |Maintainability| image:: https://api.codeclimate.com/v1/badges/b911a106363fd033ed21/maintainability\n    :target: https://codeclimate.com/github/ArseniyAntonov/python-algorithms/maintainability\n.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/dbe5942aa3b44a4588346ea757c494de    \n    :target: https://www.codacy.com/app/ArseniyAntonov/python-algorithms?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=ArseniyAntonov/python-algorithms\u0026amp;utm_campaign=Badge_Grade\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaserphaser%2Fpython-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaserphaser%2Fpython-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaserphaser%2Fpython-algorithms/lists"}