okmttdhr / haskell-algorithms

Algorithms and data structures implemented in Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Haskell Algorithms

This repository contains Haskell based examples of algorithms and data structures. (Inspired by JavaScript Algorithms).

Table of Contents

Data Structures

Math

  • Bit Manipulation
  • Factorial
  • Fibonacci Number
  • 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
  • Combinations
  • Longest Common Subsequence
  • Longest Increasing Subsequence
  • Shortest Common Supersequence
  • Knapsack Problem
  • Maximum Subarray
  • 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
  • Jump Search
  • Binary Search
  • Interpolation Search

Sorting

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
  • 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
  • Tower of Hanoi
  • Pascal's Triangle
  • Euclidean Algorithm
  • Merge Sort
  • Quicksort
  • Tree Depth-First Search
  • Graph Depth-First Search
  • Jump Game
  • Fast Powering
  • Permutations
  • 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

About

Algorithms and data structures implemented in Haskell

License:MIT License


Languages

Language:Haskell 100.0%