Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/okmttdhr/haskell-algorithms
Algorithms and data structures implemented in Haskell
https://github.com/okmttdhr/haskell-algorithms
algorithm data-structures functional-programming haskell
Last synced: 19 days ago
JSON representation
Algorithms and data structures implemented in Haskell
- Host: GitHub
- URL: https://github.com/okmttdhr/haskell-algorithms
- Owner: okmttdhr
- License: mit
- Created: 2020-02-20T14:08:54.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T07:54:15.000Z (8 months ago)
- Last Synced: 2024-10-08T22:34:39.027Z (29 days ago)
- Topics: algorithm, data-structures, functional-programming, haskell
- Language: Haskell
- Homepage:
- Size: 16.6 KB
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Haskell Algorithms
This repository contains Haskell based examples of algorithms and data structures. (Inspired by [JavaScript Algorithms](https://github.com/trekhleb/javascript-algorithms)).
## Table of Contents
- [Haskell Algorithms](#haskell-algorithms)
- [Table of Contents](#table-of-contents)
- [Data Structures](#data-structures)
- [Math](#math)
- [Sets](#sets)
- [Strings](#strings)
- [Searches](#searches)
- [Sorting](#sorting)
- [Linked Lists](#linked-lists)
- [Trees](#trees)
- [Graphs](#graphs)
- [Cryptography](#cryptography)
- [Machine Learning](#machine-learning)
- [Brute Force](#brute-force)
- [Greedy](#greedy)
- [Divide and Conquer](#divide-and-conquer)
- [Dynamic Programming](#dynamic-programming)
- [Backtracking](#backtracking)
- [Uncategorized](#uncategorized)## Data Structures
- [Linked List](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/linked-list.hs)
- [Doubly Linked List](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/doubly-linked-list.hs)
- [Queue](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/queue.hs)
- [Stack](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/stack.hs)
- [Hash Table](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/hash-table.hs)
- [Heap](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/data-structures/heap.hs)
- Priority Queue
- Trie
- Tree
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- Segment Tree
- Fenwick Tree
- Graph
- Disjoint Set
- Bloom Filter## Math
- Bit Manipulation
- Factorial
- [Fibonacci Number](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/math/fibonacci-number.hs)
- Primality Test
- Euclidean Algorithm
- Least Common Multiple
- Sieve of Eratosthenes
- Is Power of Two
- Pascal's Triangle
- Complex Number
- Radian & Degree
- Fast Powering
- Integer Partition
- Square Root
- Liu Hui π Algorithm
- Discrete Fourier Transform## Sets
- Cartesian Product
- Fisher–Yates Shuffle
- Power Set
- [Permutations](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/permutations.hs)
- Combinations
- Longest Common Subsequence
- Longest Increasing Subsequence
- Shortest Common Supersequence
- Knapsack Problem
- [Maximum Subarray](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/maximum-subarray.hs)
- Combination Sum## Strings
- Hamming Distance
- Levenshtein Distance
- Knuth–Morris–Pratt Algorithm
- Z Algorithm
- Rabin Karp Algorithm
- Longest Common Substring
- Regular Expression Matching## Searches
- [Linear Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/linear-search.hs)
- [Binary Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/binary-search.hs)
- Jump Search
- Interpolation Search## Sorting
- [Bubble Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/bubble-sort.hs)
- [Selection Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/selection-sort.hs)
- [Insertion Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/insertion-sort.hs)
- [Heap Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/heap-sort.hs)
- [Merge Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/merge-sort.hs)
- [Quick Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/quick-sort.hs)
- Shell Sort
- Counting Sort
- Radix Sort## Linked Lists
- Straight Traversal
- Reverse Traversal## Trees
- Depth-First Search
- Breadth-First Search## Graphs
- Depth-First Search
- Breadth-First Search
- Kruskal’s Algorithm
- Dijkstra Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Detect Cycle
- Prim’s Algorithm
- Topological Sorting
- Articulation Points
- Bridges
- Eulerian Path and Eulerian Circuit
- Hamiltonian Cycle
- Strongly Connected Components
- Travelling Salesman Problem## Cryptography
- Polynomial Hash
## Machine Learning
- NanoNeuron
## Brute Force
- [Linear Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/linear-search.hs)
- Rain Terraces
- Recursive Staircase
- Maximum Subarray
- Travelling Salesman Problem
- Discrete Fourier Transform## Greedy
- Jump Game
- Unbound Knapsack Problem
- Dijkstra Algorithm
- Prim’s Algorithm
- Kruskal’s Algorithm## Divide and Conquer
- [Binary Search](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/searches/binary-search.hs)
- Tower of Hanoi
- Pascal's Triangle
- Euclidean Algorithm
- [Merge Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/merge-sort.hs)
- [Quick Sort](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sorting/quick-sort.hs)
- Tree Depth-First Search
- Graph Depth-First Search
- Jump Game
- Fast Powering
- [Permutations](https://github.com/okmttdhr/haskell-algorithms/blob/master/src/sets/permutations.hs)
- Combinations## Dynamic Programming
- Fibonacci Number
- Jump Game
- Unique Paths
- Rain Terraces
- Recursive Staircase
- Levenshtein Distance
- Longest Common Subsequence
- Longest Common Substring
- Longest Increasing Subsequence
- Shortest Common Supersequence
- 0/1 Knapsack Problem
- Integer Partition
- Maximum Subarray
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Regular Expression Matching## Backtracking
- Jump Game
- Unique Paths
- Power Set
- Hamiltonian Cycle
- N-Queens Problem
- Knight's Tour
- Combination Sum## Uncategorized
- Tower of Hanoi
- Square Matrix Rotation
- Jump Game
- Unique Paths
- Rain Terraces
- Recursive Staircase
- N-Queens Problem
- Knight's Tour