Giter VIP home page Giter VIP logo

algorithm-collection's Introduction

Algorithm Collection

This is a simple collection of algorithms, written in as many languages as possible, for use in different software projects.

This collection has been contributed by the community, written myself from the base algorithm, borrowed, modified, or improved from other sources.

It exists to help other programmers implement these algorithms into their own code, learn or do whatever they need to with them.

It's goal is to make utilizing these algorithms as simply as possible.

Contributing:

When contributing feel free to add your algorithm to the read me if not already present, otherwise add it under the 'Uses' section.

Otherwise after writing the code for the algorithm source, ensure to add some JSDoc syntax comments at the start of the file. Indicating the license, and creator. This license is then to be respected in any further use of your contribution.

The MIT license may be a good choice for these snippets, as its a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

For an example of the JSDoc Syntax that may be best to use, feel free to use the first algorithm added to this project JavaScript - Longest Common Subsequence as an example.

Collection of Algorithms

Levenshtein Distance:

The Levenshtein Distance is a string metric for measuring the difference between two sequences. Named after Vladimir Levenshtein, who considered this distance in 1965.

Levenshtein Distance Formula

Uses:
  • Spell Checkers
  • Correction for optical character recognition
  • Natural-language translation based on translation memory.
Code:

Longest Common Subsequence:

The Longest Common Subsequence (LCS) problem is the problem of finding the longest subsequence common to all sequences in a set of sequences (often just two sequences).

Longest Common Subsequence Formula

Uses:
  • Linux diff utility
  • Git revision control system
Code:

Smith-Waterman:

The Smith-Waterman Algorithm performs local sequence alignment, for determining similar regions between two strings.

Smith-Waterman Algorithm Animated Example

Uses:
  • Determining similar regions between two sequences of nucleic acid sequences.
  • Determining similar regions between two sequences of protein sequences.
Code:

Levenshtein Distance w/ Word Seperators - Double Mean:

TODO:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.