{"id":15478275,"url":"https://github.com/okmttdhr/haskell-algorithms","last_synced_at":"2025-04-22T14:46:50.748Z","repository":{"id":45685612,"uuid":"241900332","full_name":"okmttdhr/haskell-algorithms","owner":"okmttdhr","description":"Algorithms and data structures implemented in Haskell","archived":false,"fork":false,"pushed_at":"2024-03-12T07:54:15.000Z","size":17,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T03:20:37.959Z","etag":null,"topics":["algorithm","data-structures","functional-programming","haskell"],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/okmttdhr.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":"2020-02-20T14:08:54.000Z","updated_at":"2024-10-12T23:03:03.000Z","dependencies_parsed_at":"2025-03-03T19:44:07.516Z","dependency_job_id":null,"html_url":"https://github.com/okmttdhr/haskell-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/okmttdhr%2Fhaskell-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okmttdhr%2Fhaskell-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okmttdhr%2Fhaskell-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okmttdhr%2Fhaskell-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okmttdhr","download_url":"https://codeload.github.com/okmttdhr/haskell-algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250262615,"owners_count":21401716,"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":["algorithm","data-structures","functional-programming","haskell"],"created_at":"2024-10-02T04:03:06.328Z","updated_at":"2025-04-22T14:46:50.704Z","avatar_url":"https://github.com/okmttdhr.png","language":"Haskell","readme":"\n# Haskell Algorithms\n\nThis repository contains Haskell based examples of algorithms and data structures. (Inspired by [JavaScript Algorithms](https://github.com/trekhleb/javascript-algorithms)).\n\n\n## Table of Contents\n\n- [Haskell Algorithms](#haskell-algorithms)\n\t- [Table of Contents](#table-of-contents)\n\t- [Data Structures](#data-structures)\n\t- [Math](#math)\n\t- [Sets](#sets)\n\t- [Strings](#strings)\n\t- [Searches](#searches)\n\t- [Sorting](#sorting)\n\t- [Linked Lists](#linked-lists)\n\t- [Trees](#trees)\n\t- [Graphs](#graphs)\n\t- [Cryptography](#cryptography)\n\t- [Machine Learning](#machine-learning)\n\t- [Brute Force](#brute-force)\n\t- [Greedy](#greedy)\n\t- [Divide and Conquer](#divide-and-conquer)\n\t- [Dynamic Programming](#dynamic-programming)\n\t- [Backtracking](#backtracking)\n\t- [Uncategorized](#uncategorized)\n\n\n## Data Structures\n\n- [Linked List](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/linked-list.hs)\n- [Doubly Linked List](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/doubly-linked-list.hs)\n- [Queue](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/queue.hs)\n- [Stack](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/stack.hs)\n- [Hash Table](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/hash-table.hs)\n- [Heap](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/heap.hs)\n- Priority Queue\n- Trie\n- Tree\n  - Binary Search Tree\n  - AVL Tree\n  - Red-Black Tree\n  - Segment Tree\n  - Fenwick Tree\n- Graph\n- Disjoint Set\n- Bloom Filter\n\n## Math\n\n- Bit Manipulation\n- Factorial\n- [Fibonacci Number](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/math/fibonacci-number.hs)\n- Primality Test\n- Euclidean Algorithm\n- Least Common Multiple\n- Sieve of Eratosthenes\n- Is Power of Two\n- Pascal's Triangle\n- Complex Number\n- Radian \u0026 Degree\n- Fast Powering\n- Integer Partition\n- Square Root\n- Liu Hui π Algorithm\n- Discrete Fourier Transform\n\n## Sets\n\n- Cartesian Product\n- Fisher–Yates Shuffle\n- Power Set\n- [Permutations](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/permutations.hs)\n- Combinations\n- Longest Common Subsequence\n- Longest Increasing Subsequence\n- Shortest Common Supersequence\n- Knapsack Problem\n- [Maximum Subarray](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/maximum-subarray.hs)\n- Combination Sum\n\n## Strings\n\n- Hamming Distance\n- Levenshtein Distance\n- Knuth–Morris–Pratt Algorithm\n- Z Algorithm\n- Rabin Karp Algorithm\n- Longest Common Substring\n- Regular Expression Matching\n\n## Searches\n\n- [Linear Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/linear-search.hs)\n- [Binary Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/binary-search.hs)\n- Jump Search\n- Interpolation Search\n\n## Sorting\n\n- [Bubble Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/bubble-sort.hs)\n- [Selection Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/selection-sort.hs)\n- [Insertion Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/insertion-sort.hs)\n- [Heap Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/heap-sort.hs)\n- [Merge Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/merge-sort.hs)\n- [Quick Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/quick-sort.hs)\n- Shell Sort\n- Counting Sort\n- Radix Sort\n\n## Linked Lists\n\n- Straight Traversal\n- Reverse Traversal\n\n## Trees\n\n- Depth-First Search\n- Breadth-First Search\n\n## Graphs\n\n- Depth-First Search\n- Breadth-First Search\n- Kruskal’s Algorithm\n- Dijkstra Algorithm\n- Bellman-Ford Algorithm\n- Floyd-Warshall Algorithm\n- Detect Cycle\n- Prim’s Algorithm\n- Topological Sorting\n- Articulation Points\n- Bridges\n- Eulerian Path and Eulerian Circuit\n- Hamiltonian Cycle\n- Strongly Connected Components\n- Travelling Salesman Problem\n\n## Cryptography\n\n- Polynomial Hash\n\n## Machine Learning\n\n- NanoNeuron\n\n## Brute Force\n\n- [Linear Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/linear-search.hs)\n- Rain Terraces\n- Recursive Staircase\n- Maximum Subarray\n- Travelling Salesman Problem\n- Discrete Fourier Transform\n\n## Greedy\n\n- Jump Game\n- Unbound Knapsack Problem\n- Dijkstra Algorithm\n- Prim’s Algorithm\n- Kruskal’s Algorithm\n\n## Divide and Conquer\n\n- [Binary Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/binary-search.hs)\n- Tower of Hanoi\n- Pascal's Triangle\n- Euclidean Algorithm\n- [Merge Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/merge-sort.hs)\n- [Quick Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/quick-sort.hs)\n- Tree Depth-First Search\n- Graph Depth-First Search\n- Jump Game\n- Fast Powering\n- [Permutations](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/permutations.hs)\n- Combinations\n\n## Dynamic Programming\n\n- Fibonacci Number\n- Jump Game\n- Unique Paths\n- Rain Terraces\n- Recursive Staircase\n- Levenshtein Distance\n- Longest Common Subsequence\n- Longest Common Substring\n- Longest Increasing Subsequence\n- Shortest Common Supersequence\n- 0/1 Knapsack Problem\n- Integer Partition\n- Maximum Subarray\n- Bellman-Ford Algorithm\n- Floyd-Warshall Algorithm\n- Regular Expression Matching\n\n## Backtracking\n\n- Jump Game\n- Unique Paths\n- Power Set\n- Hamiltonian Cycle\n- N-Queens Problem\n- Knight's Tour\n- Combination Sum\n\n## Uncategorized\n\n- Tower of Hanoi\n- Square Matrix Rotation\n- Jump Game\n- Unique Paths\n- Rain Terraces\n- Recursive Staircase\n- N-Queens Problem\n- Knight's Tour\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokmttdhr%2Fhaskell-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokmttdhr%2Fhaskell-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokmttdhr%2Fhaskell-algorithms/lists"}