<commit_before>#fast.js

[![Build Status](https://travis-ci.org/ikarienator/fast.js.png?branch=master)](https://travis-ci.org/ikarienator/fast.js)

A simple, tested, ready-to-used javascript algorithm library for node.js and browser.



## Wish List

### General Algorithms
- Sequence Algorithms
    - Longest Increasing Subsequence. _Finished_
    - Longest Common Substring using DP(O(n^2)). _Finished_
    - Longest Common Subsequence using DP(O(n^2)). _Finished_
    - KMP Matching. _Finished_
- Sort and Select algorithms
    - Compare based stable sort algorithm
    - [In-place merge sort](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.5514&rep=rep1&type=pdf) 
    - Radix sort
    - Counting sort
    - Bucket sort
    - Quick partition and k-th selection
- By-value Hashing for Objects

### General Data Structures
- Linked List(Singly and Doubly)
- Ordered Dictionaries
    - Unbalanced BST
    - Red-Black Tree _Finished_
    - Splay Tree
    - AVL Tree
    - Skip List
    - Van Emde Boas Tree
- Heaps
    - Binary Heap _Finished_
    - Cartesian Tree
- Disjoint Set
- Young Tableau

### Graph Theory
- Adjacency Matrix/Adjacency List
- Traversal
- Topological Sort
- Strongly Connected Components
- Minimum Spanning Trees (Kruskal and Prim)
- Shortest Paths
- Maximum Flow

### Numeric Algorithms
- Numeric Derivative
- Numeric Integral
- Cubic Polynomial Solver
- FFT _Finished_
- Polynomial Evaluation

### Simple Number Theory Algorithms
- Primality Test
- Small Number Factoring
- Greatest Common Divisor / Extended GCD
- Big Integer Arithmetics
- Continued Fraction / Diophantine approximation
- Pell's equation
- CRT Recovery
- Elliptic Curve Arithmetics

### Linear Algebra
- Vectors and Matrix
- Eigenvalue and Eigenvectors
- Gaussian Elimination

### Computational Geometry
- Intersection
- Spline interpolation
- Polygon
    - Area/Circumference
    - Intersect/Union<commit_msg>Fix Readme.md<commit_after>#fast.js

[![Build Status](https://travis-ci.org/ikarienator/fast.js.png?branch=master)](https://travis-ci.org/ikarienator/fast.js)

A simple, tested javascript algorithm library for node.js and browser.
This project is current under development.

## Current Progress
### General Algorithms
- Sequence Algorithms
    - Longest Increasing Subsequence
    - Longest Common Substring using DP(O(n^2))
    - Longest Common Subsequence using DP(O(n^2))
    - KMP Matching
### General Data Structures
- Ordered Dictionaries
    - Red-Black Tree
- Heaps
    - Binary Heap
- Disjoint Set
### Numeric Algorithms
- FFT
### Simple Number Theory Algorithms
- Primality Test
- Greatest Common Divisor

## Wish List

### General Algorithms
- Sort and Select algorithms
    - Compare based stable sort algorithm
    - [In-place merge sort](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.5514&rep=rep1&type=pdf) 
    - Radix sort
    - Counting sort
    - Bucket sort
    - Quick partition and k-th selection
- By-value Hashing for Objects

### General Data Structures
- Linked List(Singly and Doubly)
- Ordered Dictionaries
    - Unbalanced BST
    - Splay Tree
    - AVL Tree
    - Skip List
    - Van Emde Boas Tree
- Heaps
    - Cartesian Tree
- Young Tableau

### Graph Theory
- Adjacency Matrix/Adjacency List
- Traversal
- Topological Sort
- Strongly Connected Components
- Minimum Spanning Trees (Kruskal and Prim)
- Shortest Paths
- Maximum Flow

### Numeric Algorithms
- Numeric Derivative
- Numeric Integral
- Cubic Polynomial Solver
- Polynomial Evaluation

### Simple Number Theory Algorithms
- Small Number Factoring
- Big Integer Arithmetics
- Extended GCD
- Continued Fraction / Diophantine approximation
- Pell's equation
- CRT Recovery
- Elliptic Curve Arithmetics

### Linear Algebra
- Vectors and Matrix
- Eigenvalue and Eigenvectors
- Gaussian Elimination

### Computational Geometry
- Intersection
- Spline interpolation
- Polygon
    - Area/Circumference
    - Intersect/Union
{'fraction_non_alphanumeric': 0.08707793856308708, 'fraction_numerical': 0.006600660066006601, 'mean_word_length': 3.436936936936937, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1284990', 'n_tokens_mistral': 1294, 'n_tokens_neox': 1206, 'n_words': 374}