Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/foldfelis/algorithm101

This repository is not just an implement yet a learning process to fully understand the algorithms
https://github.com/foldfelis/algorithm101

Last synced: 1 day ago
JSON representation

This repository is not just an implement yet a learning process to fully understand the algorithms

Awesome Lists containing this project

README

        

# Algorithm101

[![CI](https://github.com/foldfelis/Algorithm101/actions/workflows/ci.yml/badge.svg)](https://github.com/foldfelis/Algorithm101/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/foldfelis/Algorithm101/branch/master/graph/badge.svg?token=PBJZ4JLZ1H)](https://codecov.io/gh/foldfelis/Algorithm101)
[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)

This repository is not just an implement yet a learning process to fully understand the algorithms.
In this reop, I implement some common and useful algorithms.

## Divide and conquer

- [x] Find max subarray

## Sorting

- [x] Merge sort
- [x] Quick sort
- [x] Topological sort

## Searching

- [x] Binary search
- [x] Binary search tree

## Approximation

- [x] Monte Carlo integral
- [ ] Metropolis–Hastings algorithm approximate Gamma(k=2.0,theta=2.0)

## Dynamic programming

- [x] Matrix chain multiplication
- [ ] Longest common subsequence

## Compression

- [ ] Huffman coding (100 days: 14)

## Tree

- [x] Kruskal's algorithm (Minimum spanning tree)
- [x] Prim's algorithm (Minimum spanning tree)
- [x] Tree traverse: pre-order, in-order, post-order
- [ ] JSON Parser

## Graph

- [x] Depth first search on graph
- [x] Breadth first search on graph
- [ ] Dijkstra's algorithm (100 days: 48)
- [ ] PageRank (100 days: 32)
- [ ] Strongly connected components (100 days: 95)

## Machine learning

- [ ] Perceptron learning algorithm (100 days: 14)
- [ ] Linear regression with linear algebra solution
- [ ] Linear regression with gradient descent
- [ ] Conjugate gradient method
- [ ] Logistic regression with IRLS (100 days: 79)
- [ ] Markov chain
- [ ] Hidden Markov model ([ref](http://www.csie.ntnu.edu.tw/~u91029/HiddenMarkovModel.html#2))
- [ ] K nearest neighbor classifier
- [ ] K-means (100 days: 21)
- [ ] Principle component analysis (100 days: 92)
- [ ] Naive Bayes classifier
- [ ] Decision tree classifier (ID3)

## Applications

- [ ] POS system
- [ ] Interpreter for arithmetics
- [ ] MVC pattern for machine learning platform