首頁 > 後端開發 > php教程 > 自訂levenshtein 目的:了解levenshtein 演算法原理

自訂levenshtein 目的:了解levenshtein 演算法原理

WBOY
發布: 2016-07-25 09:01:25
原創
1323 人瀏覽過
参考 : http://www.cnblogs.com/ymind/archive/2012/03/27/fast-memory-efficient-Levenshtein-algorithm.html
  1. function _levenshtein($src, $dst){
  2. if (empty($src)) {
  3. return $dst;
  4. }
  5. if (empty($dst)) {
  6. return $src;
  7. }
  8. $temp = array();
  9. for($i = 0; $i <= strlen($src); $i++) {
  10. $temp[$i][0] = $i;
  11. }
  12. for($j = 0; $j <= strlen($dst); $j++) {
  13. $temp[0][$j] = $j;
  14. }
  15. for ($i = 1;$i <= strlen($src); $i++) {
  16. $src_i = $src{$i - 1};
  17. for ($j = 1; $j <= strlen($dst); $j++) {
  18. $dst_j = $dst{$j - 1};
  19. if ($src_i == $dst_j) {
  20. $cost = 0;
  21. } else {
  22. $cost = 1;
  23. }
  24. $temp[$i][$j] = min($temp[$i-1][$j]+1, $temp[$i][$j-1]+1, $temp[$i-1][$j-1] + $cost);
  25. }
  26. }
  27. return $temp[$i-1][$j-1];
  28. }
  29. echo _levenshtein("hello", "HElloo");
复制代码


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板