All Projects → gustf → Js Levenshtein

gustf / Js Levenshtein

Licence: mit
The most efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Js Levenshtein

levenshtein.c
Levenshtein algorithm in C
Stars: ✭ 77 (-71.38%)
Mutual labels:  levenshtein
java-sdk
一些常用的java sdk和工具类(日期工具类,分布式锁,redis缓存,二叉树,反射工具类,线程池,对称/非对称/分段加解密,json序列化,http工具,雪花算法,字符串相似度,集合操作工具,xml解析,重试Retry工具类,Jvm监控等)
Stars: ✭ 26 (-90.33%)
Mutual labels:  levenshtein
stringosim
String similarity functions, String distance's, Jaccard, Levenshtein, Hamming, Jaro-Winkler, Q-grams, N-grams, LCS - Longest Common Subsequence, Cosine similarity...
Stars: ✭ 47 (-82.53%)
Mutual labels:  levenshtein
eddie
No description or website provided.
Stars: ✭ 18 (-93.31%)
Mutual labels:  levenshtein
spellchecker-wasm
SpellcheckerWasm is an extrememly fast spellchecker for WebAssembly based on SymSpell
Stars: ✭ 46 (-82.9%)
Mutual labels:  levenshtein
levenshtein-rs
Levenshtein algorithm in Rust
Stars: ✭ 37 (-86.25%)
Mutual labels:  levenshtein
Pg similarity
set of functions and operators for executing similarity queries
Stars: ✭ 250 (-7.06%)
Mutual labels:  levenshtein
similar-english-words
Give me a word and I’ll give you an array of words that differ by a single letter.
Stars: ✭ 25 (-90.71%)
Mutual labels:  levenshtein
LinSpell
Fast approximate strings search & spelling correction
Stars: ✭ 52 (-80.67%)
Mutual labels:  levenshtein
simetric
String similarity metrics for Elixir
Stars: ✭ 59 (-78.07%)
Mutual labels:  levenshtein
Quickenshtein
Making the quickest and most memory efficient implementation of Levenshtein Distance with SIMD and Threading support
Stars: ✭ 204 (-24.16%)
Mutual labels:  levenshtein
stringdistance
A fuzzy matching string distance library for Scala and Java that includes Levenshtein distance, Jaro distance, Jaro-Winkler distance, Dice coefficient, N-Gram similarity, Cosine similarity, Jaccard similarity, Longest common subsequence, Hamming distance, and more..
Stars: ✭ 60 (-77.7%)
Mutual labels:  levenshtein
strutil
Golang metrics for calculating string similarity and other string utility functions
Stars: ✭ 114 (-57.62%)
Mutual labels:  levenshtein
levenshtein-edit-distance
Levenshtein edit distance
Stars: ✭ 59 (-78.07%)
Mutual labels:  levenshtein
hubot-suggest
Suggest hubot commands when not found
Stars: ✭ 29 (-89.22%)
Mutual labels:  levenshtein
levenshtein finder
Similar string search in Levenshtein distance
Stars: ✭ 19 (-92.94%)
Mutual labels:  levenshtein
edits.cr
Edit distance algorithms inc. Jaro, Damerau-Levenshtein, and Optimal Alignment
Stars: ✭ 16 (-94.05%)
Mutual labels:  levenshtein
Go Edlib
Golang string comparison and edit distance algorithms library, featuring : Levenshtein, LCS, Hamming, Damerau levenshtein (OSA and Adjacent transpositions algorithms), Jaro-Winkler, Cosine, etc...
Stars: ✭ 253 (-5.95%)
Mutual labels:  levenshtein
RepostCheckerBot
Bot for checking reposts on reddit
Stars: ✭ 36 (-86.62%)
Mutual labels:  levenshtein
Levenshtein
The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
Stars: ✭ 38 (-85.87%)
Mutual labels:  levenshtein

js-levenshtein Build Status

A very efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.

Based on Wagner-Fischer dynamic programming algorithm, optimized for speed and memory

  • use a single distance vector instead of a matrix
  • loop unrolling on the outer loop
  • remove common prefixes/postfixes from the calculation
  • minimize the number of comparisons
  • always allocate a new distance vector in order to not leak memory

Install

$ npm install --save js-levenshtein

Usage

const levenshtein = require('js-levenshtein');

levenshtein('kitten', 'sitting');
//=> 3

Benchmark

$ npm run bench
  
                      50 paragraphs, length max=500 min=240 avr=372.5
             162 op/s » js-levenshtein
              98 op/s » talisman
              94 op/s » levenshtein-edit-distance
              85 op/s » leven
              39 op/s » fast-levenshtein

                      100 sentences, length max=170 min=6 avr=57.5
           3,076 op/s » js-levenshtein
           2,024 op/s » talisman
           1,817 op/s » levenshtein-edit-distance
           1,633 op/s » leven
             800 op/s » fast-levenshtein

                      2000 words, length max=20 min=3 avr=9.5
           3,119 op/s » js-levenshtein
           2,416 op/s » talisman
           2,141 op/s » levenshtein-edit-distance
           1,855 op/s » leven
           1,260 op/s » fast-levenshtein

Benchmarks was performed with node v8.12.0 on a MacBook Pro 15", 2.9 GHz Intel Core i9

License

MIT © Gustaf Andersson

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].