自訂levenshtein 目的:了解levenshtein 演算法原理
参考 :
http://www.cnblogs.com/ymind/archive/2012/03/27/fast-memory-efficient-Levenshtein-algorithm.html
- function _levenshtein($src, $dst){
- if (empty($src)) {
- return $dst;
- }
- if (empty($dst)) {
- return $src;
- }
-
- $temp = array();
-
- for($i = 0; $i <= strlen($src); $i++) {
- $temp[$i][0] = $i;
- }
- for($j = 0; $j <= strlen($dst); $j++) {
- $temp[0][$j] = $j;
- }
- for ($i = 1;$i <= strlen($src); $i++) {
-
- $src_i = $src{$i - 1};
-
- for ($j = 1; $j <= strlen($dst); $j++) {
-
- $dst_j = $dst{$j - 1};
-
- if ($src_i == $dst_j) {
- $cost = 0;
- } else {
- $cost = 1;
- }
- $temp[$i][$j] = min($temp[$i-1][$j]+1, $temp[$i][$j-1]+1, $temp[$i-1][$j-1] + $cost);
- }
-
- }
- return $temp[$i-1][$j-1];
- }
-
- echo _levenshtein("hello", "HElloo");
复制代码
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31