Edit distance

No algorithm description given

This algorithm finds editing distance of two given strings, which is based on insertions, deletions and substitutions. The algorithm takes 5 arguments: - first string; - second string; - price of insertion; - price of deletion; - price of substitution; The algorithm returns one integer, which corresponds to minimal editing distance price using given prices for operations from input. Time complexity O(n*m), space complexity O(n), where n and m are minimal and maximal sizes of input strings respectively. If all prices are set to 1, then the algorithm calculates Levenshtein distance, i.e. merely number of required editing operations in order to convert first string into second one. More details: http://en.wikipedia.org/wiki/Edit_distance http://en.wikipedia.org/wiki/Levenshtein_distance Usage: natural language processing, bioinformatics...

(no tags)

Cost Breakdown

1 cr
royalty per call
1 cr
usage per second
avg duration

Cost Calculator

API call duration (sec)
API calls
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

No permissions required

This algorithm does not require any special permissions.

To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY' https://api.algorithmia.com/v1/algo/nrg3/Editdistance/0.1.1
View cURL Docs
algo auth
algo run algo://nrg3/Editdistance/0.1.1 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://nrg3/Editdistance/0.1.1");
AlgoResponse result = algo.pipeJson(input);
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://nrg3/Editdistance/0.1.1")
val result = algo.pipeJson(input)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(output) {
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(response) {
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('nrg3/Editdistance/0.1.1')
print algo.pipe(input)
View Python Docs

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("nrg3/Editdistance/0.1.1")
result <- algo$pipe(input)$result
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('nrg3/Editdistance/0.1.1')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo('nrg3/Editdistance/0.1.1');
let response = algo.pipe(input);
View Rust Docs
  • {{comment.username}}